设置openafs客户机和服务器的实用程序
afsutil的Python项目详细描述
afsutil是一个命令行工具,用于为 开发人员和测试人员。
命令行界面
usage: afsutil <command> [options] commands: version Print version help Print usage getdeps Install build dependencies check Check hostname build Build binaries reload Reload the kernel module from the build tree package Build packages install Install binaries remove Remove binaries start Start AFS services stop Stop AFS services ktcreate Create a fake keytab ktdestroy Destroy a keytab ktsetkey Add a service key from a keytab file ktlogin Obtain a token with a keytab newcell Setup a new cell mtroot Mount root volumes in a new cell addfs Add a new fileserver to a cell
示例
要从源代码构建openafs,请执行以下操作:
$ git clone git://git.openafs.org/openafs.git $ cd openafs $ afsutil build
要安装传统的“transarc样式”二进制文件:
$ sudo afsutil install \ --force \ --components server client \ --dist transarc \ --dir /usr/local/src/openafs-test/amd64_linux26/dest \ --cell example.com \ --realm EXAMPLE.COM \ --hosts myhost1 myhost2 myhost3 \ --csdb /root/CellServDB.dist \ -o "afsd=-dynroot -fakestat -afsdb" \ -o "bosserver=-pidfiles"
从kerberos 5 keytab文件设置openafs服务密钥:
$ sudo afsutil setkey --cell example.com \ --realm EXAMPLE.COM \ --keytab /root/fake.keytab
启动openafs服务器:
$ sudo afsutil start server
运行“afsutil install”后,在3台服务器上安装新的openafs单元 在每个上:
$ sudo afsutil newcell \ --cell example.com \ --realm EXAMPLE.COM \ --admin example.admin \ --top test \ --akimpersonate \ --keytab /root/fake.keytab \ --fs myhost1 myhost2 myhost3 \ --db myhost1 myhost2 myhost3 \ --aklog /usr/local/bin/aklog-1.6 \ -o "dafs=yes" \ -o "afsd=-dynroot -fakestat -afsdb" \ -o "bosserver=-pidfiles" \ -o "dafileserver=L"
启动客户端:
$ sudo afsutil start client
要在客户端运行后装载顶级卷,请执行以下操作:
$ afsutil mtroot \ --cell example.com \ --admin example.admin \ --top test \ --realm EXAMPLE.COM \ --akimpersonate \ --keytab /root/fake.keytab \ --fs myhost1 \ -o "afsd=-dynroot -fakestat -afsdb"
配置文件
所有命令行值都可以在配置文件中设置。地点 /etc/afsutil.cfg中的全局配置,每个用户选项 ~/.afsutil.cfg,以及.git/afsutil.cfg中的每个项目选项。使用命令 替代配置选项的行选项。
afsutil配置文件是ini样式的格式。的部分 配置文件对应于子命令名,例如build, 安装,新建单元格。每个部分中的选项对应于命令 行选项名称。
一些子命令,如install和newcell,都有类似于options的选项。 以及由多个名称/值对组成的路径。这些是 在配置文件中表示为表单中的子部分 [<;子命令>;<;选项>;]。
例如,上面给出的安装命令示例有一组启动 afsd和bosserver的选项。这将在 配置文件为:
[install] force = yes components = server client dist = transarc dir = /usr/local/src/openafs-test/amd64_linux26/dest cell = example.com realm = EXAMPLE.COM hosts = myhost1 myhost2 myhost3 csdb = /root/CellServDB.dist [install.options] afsd = -dynroot -fakestat -afsdb bosserver = -pidfiles
下面是一个配置文件示例:
$ cat /etc/afsutil.cfg [install] cell = example.com realm = EXAMPLE.COM force = True components = server client dist = transarc hosts = debian9 [install.options] afsd = -dynroot -fakestat -afsdb bosserver = [ktcreate] cell = example.com realm = EXAMPLE.COM keytab = /home/mtycobb/afsrobot/fake.keytab [ktsetkey] cell = example.com realm = EXAMPLE.COM keytab = /home/mtycobb/afsrobot/fake.keytab format = detect [ktsetkey.paths] asetkey = /usr/afs/bin/asetkey [newcell] cell = example.com realm = EXAMPLE.COM admin = afsrobot.admin fs = debian9 db = debian9 [newcell.options] bosserver = dafileserver = davolserver = debian9.dafileserver = -d 1 -L debian9.davolserver = -d 1 [newcell.paths] aklog=/home/mtycobb/.local/bin/aklog-1.6 asetkey=/usr/afs/bin/asetkey bos=/usr/afs/bin/bos fs=/usr/afs/bin/fs gfind=/usr/bin/find pagsh=/usr/afsws/bin/pagsh pts=/usr/afs/bin/pts rxdebug=/usr/afsws/etc/rxdebug tokens=/usr/afsws/bin/tokens udebug=/usr/afs/bin/udebug unlog=/usr/afsws/bin/unlog vos=/usr/afs/bin/vos [mtroot] cell = example.com realm = EXAMPLE.COM admin = afsrobot.admin top = test akimpersonate = True keytab = /home/mtycobb/afsrobot/fake.keytab fs = debian9 [mtroot.options] afsd = -dynroot -fakestat -afsdb [mtroot.paths] aklog = /home/mtycobb/.local/bin/aklog-1.6 asetkey = /usr/afs/bin/asetkey bos = /usr/afs/bin/bos fs = /usr/afs/bin/fs gfind = /usr/bin/find pagsh = /usr/afsws/bin/pagsh pts = /usr/afs/bin/pts rxdebug = /usr/afsws/etc/rxdebug tokens = /usr/afsws/bin/tokens udebug = /usr/afs/bin/udebug unlog = /usr/afsws/bin/unlog vos = /usr/afs/bin/vos
以及安装openafs并在单个单元上创建新单元的命令 机器:
sudo afsutil install sudo afsutil ktcreate sudo afsutil ktsetkey sudo afsutil start server sudo afsutil newcell sudo afsutil start client afsutil mtroot