设置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的选项。 以及由多个名称/值对组成的路径。这些是 在配置文件中表示为表单中的子部分 [<;子命令>;<;选项>;]

例如,上面给出的安装命令示例有一组启动 afsdbosserver的选项。这将在 配置文件为:

[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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用(BluetoothGattCharacteristic)特性中的数据创建、写入和保存csv文件。getValue()   java如何使用groupBy创建一个值为BigDecimal字段平均值的映射?   日期时间Java将iso_即时格式的字符串转换为日期   java如何检索和显示Android firebase的配置文件?   scala AWSJAVASDK:解压缩大小必须小于262144000字节   要应用于列表的java JSTL if条件   java在3个点之间画一个正方形   Kotlin java抽象类IllegaAccessError   java原语双值相等取决于大小?   java有没有一种方法可以对数据集使用compareTo()方法,而不必遍历数据集的每个元素?   java为什么我发送的每个UDP消息都会改变端口源?   重新选择文件时swing Java JTree冻结   java不知道我的游戏是怎么回事   Motif L&F中自定义组合框渲染器中的Java Swing消失文本   java Trade Me API访问前的OAuth