1 xfs_admin コマンドとは?
XFSファイルシステムのパラメータを変更するコマンドです。
2 検証環境
VMware Workstation 14 Player上の仮想マシンを使いました。
仮想マシンは、「最小限のインストール」->「開発ツール」を選択して作成しました。
[root@server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@server ~]# uname -r
3.10.0-693.el7.x86_64
[root@server ~]# xfs_admin -V
xfs_admin version 4.5.0
3 オプション一覧
[root@server ~]# xfs_admin
Usage: xfs_admin [-efjlpuV] [-c 0|1] [-L label] [-U uuid] device
4 事前準備(テスト用のXFSファイルシステム作成)
ループデバイスに使用するファイルを作成します。
ここでは1Gのファイルを作成してみます。
fallocateコマンドの使い方は、ここ(すぐ忘れてしまう、仕事で使う技)を参照してください。
[root@server ~]# fallocate -l 1G disk.img
作成したファイルを確認します。
[root@server ~]# ls -l disk.img
-rw-r--r--. 1 root root 1073741824 5月 14 18:04 disk.img
作成したファイルをループデバイスとして登録します。
losetupコマンドの使い方は、ここ(losetupコマンドの使い方)を参照してください。
[root@server ~]# losetup -f /root/disk.img
[root@server ~]# lsblk -fip
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
|-/dev/sda1 xfs 7bd0c5ce-21ab-4964-871d-61d04a09cc8c /boot
|-/dev/sda2 swap 708d5fef-16c1-4e0b-86ae-06e09153b155 [SWAP]
`-/dev/sda3 xfs a4951ce9-0d6e-4550-9460-dfbae7ea82c7 /
/dev/sr0 iso9660 CentOS 7 x86_64 2017-09-06-10-51-00-00
/dev/loop0
ループデバイスにxfsファイルシステムを作成します。
[root@server ~]# mkfs.xfs /dev/loop0
meta-data=/dev/loop0 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
ループデバイスの状態を確認してみます。
xfsファイルシステムが作成されていることがわかります。
ラベルには何も設定されていません。
UUIDには61346701-c369-407a-8b39-eb6cc68ce311が設定されていることがわかります。
また、マウントされていないことがわかります。
[root@server ~]# lsblk -fip
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
|-/dev/sda1 xfs 7bd0c5ce-21ab-4964-871d-61d04a09cc8c /boot
|-/dev/sda2 swap 708d5fef-16c1-4e0b-86ae-06e09153b155 [SWAP]
`-/dev/sda3 xfs a4951ce9-0d6e-4550-9460-dfbae7ea82c7 /
/dev/sr0 iso9660 CentOS 7 x86_64 2017-09-06-10-51-00-00
/dev/loop0 xfs 61346701-c369-407a-8b39-eb6cc68ce311
5 ファイルシステムのUUIDを表示/設定する方法
5.1 UUIDの表示方法(-u)
UUIDを表示してみます。
[root@server ~]# xfs_admin -u /dev/loop0
UUID = 61346701-c369-407a-8b39-eb6cc68ce311
5.2 UUIDの設定方法(-U)
uuidgenを使って、UUIDを作成します。
[root@server ~]# uuidgen
a91baacc-4452-438f-bf90-2dd482780d1d
新たに作成したUUIDをxfsファイルシステムに設定してみます。
[root@server ~]# xfs_admin -U a91baacc-4452-438f-bf90-2dd482780d1d /dev/loop0
Clearing log and setting UUID
writing all SBs
new UUID = a91baacc-4452-438f-bf90-2dd482780d1d
UUIDを確認してみます。新しいUUIDが設定されていることがわかります。
[root@server ~]# xfs_admin -u /dev/loop0
UUID = a91baacc-4452-438f-bf90-2dd482780d1d
5.3 UUIDをクリアする方法
[root@server ~]# xfs_admin -U nil /dev/loop0
Clearing log and setting UUID
writing all SBs
new UUID = 00000000-0000-0000-0000-000000000000
[root@server ~]# xfs_admin -u /dev/loop0
UUID = 00000000-0000-0000-0000-000000000000
5.4 その他
以下のようにして、UUIDを設定することもできます。
[root@server ~]# xfs_admin -U `uuidgen` /dev/loop0
Clearing log and setting UUID
writing all SBs
new UUID = bbd2ddd3-dee3-4b7d-a8fb-d6b92542a937
[root@server ~]# xfs_admin -u /dev/loop0
UUID = bbd2ddd3-dee3-4b7d-a8fb-d6b92542a937
6 ファイルシステムのラベルを表示/設定する方法
6.1 ラベルの表示方法(-l)
ラベルを表示してみます。何も設定されていないことがわかります。
[root@server ~]# xfs_admin -l /dev/loop0
label = ""
6.2 ラベルの設定方法(-L)
ラベルをxfsファイルシステムに設定してみます。
ラベルは12文字までの制限があるようです。
[root@server ~]# xfs_admin -L new-label /dev/loop0
writing all SBs
new label = "new-label"
[root@server ~]# xfs_admin -l /dev/loop0
label = "new-label"
Z 参考情報
【 xfs_admin 】コマンド――XFSファイルシステムのパラメータを変更する
How to use “xfs_admin” command to change parameters of an XFS filesystem
xfs_admin command examples
RHEL: XFS basic operations
Linux教科書 LPICレベル2 Version 4.5対応