LoginSignup
3
3

More than 5 years have passed since last update.

ループバックデバイスを使って普通のファイルをXFSファイルシステムとしてマウントしてみる

Posted at

はじめに

ext4でフォーマットされたルート領域のみの仮想VMで、どうしてもXFSの追加デバイスが必要になったため、以下の方法を用いて構築した。なお、OSは、Ubuntu 14.04を用いている。

ちなみに、自分は、OpenStack Swiftを構築する際にルート領域とは別デバイスが必要になったため、今回このような手法をとった。そのため、以下の方法はdevstackのソースコードをベースにしている。

XFSパッケージのインストール

xfsprogsというパッケージが必要になる。


$ sudo apt-get install -y xfsprogs

ループバックデバイスとなるファイルの作成

ファイルを配置するディレクトリの作成と、touchによるファイル作成を行う。

$ sudo mkdir -p /srv/node/images
$ sudo touch /srv/node/images/file.img

truncateコマンドによりSparseファイルを作成する。

$ sudo truncate -s 50G /srv/node/images/file.img

ファイルシステムのフォーマット

XFSでフォーマットする

$ sudo /sbin/mkfs.xfs -f -i size=1024 /srv/node/images/file.img
meta-data=/srv/node/images/file.img isize=1024   agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

fileコマンドで確認すると以下のとおりになる。

$ file /srv/node/images/file.img
/srv/node/images/file.img: SGI XFS filesystem data (blksz 4096, inosz 1024, v2 dirs)

マウント

マウント先のディレクトリを作成する。

$ sudo mkdir -p /mnt/loop0

マウントする。

$ sudo mount -t xfs -o loop,noatime,nodiratime,nobarrier,logbufs=8 /srv/node/images/file.img /mnt/loop0

dfコマンドで確認する。

$ df -h | grep loop0
/dev/loop0       50G   33M   50G   1% /mnt/loop0
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3