Web更新

UbuntuでZFSを使ってみよう 第36回 ZFSのサブコマンドを再確認しよう(1)

前回までは、Ubuntu 22.04 LTSで追加されたOpenZFS 2.1の新機能について説明しました。今回から、ZFSの多くあるサブコマンドについて解説します。

zfs version, zfs --version

ZFSのバージョンを表示します。

$ zfs version
zfs-2.1.4-0ubuntu0.1
zfs-kmod-2.1.4-0ubuntu0.1

zfs list

zfs listは、絶対パスもしくは相対パスで指定したZFSの、プロパティ情報を一覧表示します。パスを指定しないときは、ZFSで管理しているすべてのファイルシステムとボリュームを一覧表示します。一覧の項目は、デフォルトでZFSパス名(NAME)、使用容量(USED)、使用可能容量(AVAIL)、参照容量(REFER)、マウントポイント(MOUNTPOINT)です。

$ zfs list
NAME                                      USED  AVAIL     REFER  MOUNTPOINT
bpool                                     371M  1.39G       96K  /boot
bpool/BOOT                                368M  1.39G       96K  none
bpool/BOOT/ubuntu_wu8omc                  368M  1.39G      245M  /boot
rpool                                    40.0G   851G       96K  /
rpool/ROOT                               23.7G   851G       96K  none
rpool/ROOT/ubuntu_wu8omc                 23.7G   851G     4.31G  /
rpool/ROOT/ubuntu_wu8omc/srv               96K   851G       96K  /srv
rpool/ROOT/ubuntu_wu8omc/usr             12.8M   851G       96K  /usr
rpool/ROOT/ubuntu_wu8omc/usr/local       12.7M   851G     11.9M  /usr/local
(後略)

-r オプション

-rオプションを指定すると、指定したデータセットの子データを再帰的に表示します。

$ zfs list -r bpool
NAME                       USED  AVAIL     REFER  MOUNTPOINT
bpool                      371M  1.39G       96K  /boot
bpool/BOOT                 368M  1.39G       96K  none
bpool/BOOT/ubuntu_wu8omc   368M  1.39G      245M  /boot

-d depth オプション

-d depthオプションを指定すると、指定したデータセットの子データを再帰的に表示します。再起する深さは、depthで指定します。depthを1に指定すると、データセットとその直接の子供だけを表示します。

$ zfs list -d 1 bpool
NAME         USED  AVAIL     REFER  MOUNTPOINT
bpool        371M  1.39G       96K  /boot
bpool/BOOT   368M  1.39G       96K  none

-o property オプション

コンマ区切りで指定したプロパティを表示します。指定するプロパティは、以下のものに限られます。

  • ZFSのネイティブプロパティもしくはユーザプロパティを指定すると、その値を表示
  • nameを指定すると、データセット名を表示
  • spaceを指定すると、指定したファイルシステムまたはボリュームの使用容量を表示ます。
    これは、-o name,avail,used,usedsnap,usedds,usedrefreserv,usedchild -t filesystem,volume.を指定するのと同じです。
$ zfs list -r -o name,mounted,mountpoint bpool
NAME                      MOUNTED  MOUNTPOINT
bpool                     no       /boot
bpool/BOOT                no       none
bpool/BOOT/ubuntu_wu8omc  yes      /boot
$ zfs list -r -o space bpool
NAME                      AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
bpool                     1.39G   371M        0B     96K             0B       371M
bpool/BOOT                1.39G   368M        0B     96K             0B       368M
bpool/BOOT/ubuntu_wu8omc  1.39G   368M      123M    245M             0B         0B

-s/-S propety オプション

-s property オプションを指定すると、指定したプロパティに従い昇順でソートします。複数の-sオプションを指定して、複数のプロパティを選択できますが、左側に指定したプロパティが優先されます。-sの代わりに-S(大文字)を指定すると、昇順ではなく降順でソートします。

$ zfs list -s used -s referenced
NAME                                      USED  AVAIL     REFER  MOUNTPOINT
rpool/ROOT/ubuntu_wu8omc/srv               96K   851G       96K  /srv
rpool/ROOT/ubuntu_wu8omc/var/games         96K   851G       96K  /var/games
rpool/ROOT/ubuntu_wu8omc/var/mail          96K   851G       96K  /var/mail
rpool/ROOT/ubuntu_wu8omc/var/www           96K   851G       96K  /var/www
(中略)
bpool/BOOT/ubuntu_wu8omc                  368M  1.39G      245M  /boot
bpool/BOOT                                368M  1.39G       96K  none
bpool                                     371M  1.39G       96K  /boot
(後略)
$ zfs list -S used
NAME                                      USED  AVAIL     REFER  MOUNTPOINT
rpool                                    40.0G   851G       96K  /
rpool/ROOT                               23.7G   851G       96K  none
rpool/ROOT/ubuntu_wu8omc                 23.7G   851G     4.31G  /
rpool/ROOT/ubuntu_wu8omc/var             17.0G   851G       96K  /var
(後略)

-H オプション

-Hオプションを指定すると、ヘッダを出力せずに、項目を空白ではなくタブ1つで区切って出力します。scriptなどで使用する際に便利です。

$ zfs list bpool
NAME    USED  AVAIL     REFER  MOUNTPOINT
bpool   371M  1.39G       96K  /boot
$ zfs list -H bpool
bpool   371M    1.39G   96K     /boot
$ zfs list -H bpool| od -tc
0000000   b   p   o   o   l  \t   3   7   1   M  \t   1   .   3   9   G
0000020  \t   9   6   K  \t   /   b   o   o   t  \n

-p オプション

-pオプションを指定すると、プロパティの数値を解析可能な値で表示します。

$ zfs list -r -p -o space bpool
NAME                           AVAIL       USED   USEDSNAP     USEDDS  USEDREFRESERV  USEDCHILD
bpool                     1489797120  388894720          0      98304              0  388796416
bpool/BOOT                1489797120  386228224          0      98304              0  386129920
bpool/BOOT/ubuntu_wu8omc  1489797120  386129920  128851968  257277952              0          0

-t オプション

-t オプションは、filesystem、snapshot、volume、bookmarkのコンマ区切りリストか、all を指定して、表示するタイプを指定します。allは、すべての種類を表示します。

$ zfs list -r -t snapshot bpool/BOOT
NAME                                       USED  AVAIL     REFER  MOUNTPOINT
bpool/BOOT/ubuntu_wu8omc@autozsys_qx3nlt    88K      -      245M  -
bpool/BOOT/ubuntu_wu8omc@autozsys_qm1nro     0B      -      368M  -
bpool/BOOT/ubuntu_wu8omc@autozsys_qo96ap     0B      -      368M  -
bpool/BOOT/ubuntu_wu8omc@autozsys_pge8n3     0B      -      245M  -
bpool/BOOT/ubuntu_wu8omc@autozsys_7pyq1j     0B      -      245M  -
bpool/BOOT/ubuntu_wu8omc@autozsys_c2s2qk     0B      -      245M  -
(後略)
$ zfs list -r -t volume rpool
NAME                                USED  AVAIL     REFER  MOUNTPOINT
rpool/ROOT/ubuntu_wu8omc/var/swap  16.5G   851G       56K  -
 zfs list -r -t all rpool/ROOT/ubuntu_wu8omc/usr
NAME                                                 USED  AVAIL     REFER  MOUNTPOINT
rpool/ROOT/ubuntu_wu8omc/usr                        12.8M   835G       96K  /usr
rpool/ROOT/ubuntu_wu8omc/usr@autozsys_jzual3           0B      -       96K  -
rpool/ROOT/ubuntu_wu8omc/usr@autozsys_qx3nlt           0B      -       96K  -
(中略)
rpool/ROOT/ubuntu_wu8omc/usr@autozsys_szfett           0B      -       96K  -
rpool/ROOT/ubuntu_wu8omc/usr/local                  12.7M   835G     11.9M  /usr/local
rpool/ROOT/ubuntu_wu8omc/usr/local@autozsys_jzual3    72K      -     11.9M  -
(後略)

終わりに

今回は、ZFSのサブコマンドについて説明しました。zfs list で使用するプロパティは、この連載の第19回から第30回までで説明しています。今一度、確認してみてください。次回もZFSサブコマンドについて説明します。次回をお楽しみに。

さて、このコラムを掲載いただいているデジタル・ヒュージ・テクノロジー社は老舗のOSSインテグレーターです。特にLinuxは強く、OSSを活用した業務システムの実績も多いです。興味がある方は以下のページもご覧ください。
DHT OSS導入コンサルティングサービス

関連記事一覧