OpenAFS 突然失败:获取令牌时 pioctl 失败

OpenAFS 突然失败:获取令牌时 pioctl 失败

我的 afs 客户端停止工作。我不知道为什么——也许我跑了apt-get ?无论如何:

user@box ~ $ kinit
[email protected]'s Password: 
user@box ~ $ aklog
aklog: a pioctl failed while obtaining tokens for cell ies.auc.dk

检查服务状态:

user@box ~ $ sudo service openafs-client status
[sudo] password for user: 
● openafs-client.service - OpenAFS client
   Loaded: loaded (/lib/systemd/system/openafs-client.service; enabled; vendor p
   Active: active (exited) since Mon 2017-11-13 08:17:40 CET; 3h 8min ago
  Process: 1942 ExecStartPost=/usr/bin/fs sysname $AFS_SYSNAME (code=exited, sta
  Process: 1934 ExecStartPost=/usr/bin/fs setcrypt $AFS_SETCRYPT (code=exited, s
  Process: 1930 ExecStart=/sbin/afsd $AFSD_ARGS (code=exited, status=0/SUCCESS)
  Process: 1918 ExecStartPre=/usr/share/openafs/openafs-client-precheck (code=ex
    Tasks: 0 (limit: 512)
   Memory: 0B
      CPU: 0

Nov 13 08:17:40 box systemd[1]: Starting OpenAFS client...
Nov 13 08:17:40 box openafs-client-precheck[1918]: modprobe: FATAL: Modul
Nov 13 08:17:40 box openafs-client-precheck[1918]: Failed to load openafs
Nov 13 08:17:40 box fs[1934]: Usage: /usr/bin/fs setcrypt -crypt <on or o
Nov 13 08:17:40 box fs[1942]: Usage: /usr/bin/fs sysname [-newsys <new sy
Nov 13 08:17:40 box systemd[1]: Started OpenAFS client.

Modprobe 失败。直觉认为这是 dkms 的东西,它应该构建内核模块。尝试触发内核模块的构建(应该作为安装的一部分发生):

user@box ~ $ sudo dpkg-reconfigure openafs-modules-dkms 

-------- Uninstall Beginning --------
Module:  openafs
Version: 1.6.21
Kernel:  4.4.0-21-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

openafs.ko:
 - Uninstallation
   - Deleting from: /lib/modules/4.4.0-21-generic/updates/dkms//
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod.....

DKMS: uninstall completed.

------------------------------
Deleting module version: 1.6.21
completely from the DKMS tree.
------------------------------
Done.
Loading new openafs-1.6.21 DKMS files...
Building only for 4.4.0-97-generic
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.

内核版本之间不匹配; 4.4.0-21 已安装。 4.4.0-97 是当前版本。由于源不可用,无法构建当前版本。

答案1

为当前内核安装相关头文件:

user@box ~ $ sudo apt-get install linux-headers-`uname -r`
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  linux-headers-4.4.0-97-generic
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 817 kB of archives.
After this operation, 7,427 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 linux-headers-4.4.0-97-generic amd64 4.4.0-97.120 [817 kB]
Fetched 817 kB in 0s (1,626 kB/s)                      
Selecting previously unselected package linux-headers-4.4.0-97-generic.
(Reading database ... 301414 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.4.0-97-generic_4.4.0-97.120_amd64.deb ...
Unpacking linux-headers-4.4.0-97-generic (4.4.0-97.120) ...
Setting up linux-headers-4.4.0-97-generic (4.4.0-97.120) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 4.4.0-97-generic /boot/vmlinuz-4.4.0-97-generic

触发 afs 内核模块的 dkms 构建:

user@box ~ $ sudo dpkg-reconfigure openafs-modules-dkms

-------- Uninstall Beginning --------
Module:  openafs
Version: 1.6.21
Kernel:  4.4.0-97-generic (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

openafs.ko:
 - Uninstallation
   - Deleting from: /lib/modules/4.4.0-97-generic/updates/dkms//
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 1.6.21
completely from the DKMS tree.
------------------------------
Done.
Loading new openafs-1.6.21 DKMS files...
Building only for 4.4.0-97-generic
Building initial module for 4.4.0-97-generic
Done.

openafs:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-97-generic/updates/dkms//

depmod....

DKMS: install completed.

重启afs客户端,插入内核模块:

user@box ~ $ sudo service openafs-client restart

解决了:

user@box ~ $ kinit
[email protected]'s Password: 
user@box ~ $ aklog
user@box ~ $ klist
Credentials cache: FILE:/tmp/krb5cc_1000
        Principal: [email protected]

  Issued                Expires               Principal
Nov 13 13:02:45 2017  Nov 13 23:02:42 2017  krbtgt/[email protected]
Nov 13 13:02:46 2017  Nov 13 23:02:42 2017  afs/[email protected]

相关内容