OCI Computeでブロックボリュームをマウントする(LVM不使用編)
1. はじめに
以前に書いた以下のエントリでは、追加したブロックボリュームをLVM(論理ボリュームマネージャー)で構成した。
しかしクラウドや仮想サーバー環境では既存のボリュームを簡単に拡張できるので、使わないことも多い。そこで今回はLVMを使用しない方法を説明する。
既存のボリュームを拡張する方法
Oracle Cloud Infrastructureでボリュームを拡張するには以下の方法がある。この中で1番目の方法を説明する。
- オフラインにした既存のボリュームを拡張する
- ボリュームのバックアップを、より大きなサイズのボリュームにリストアする
- 既存のボリュームを、より大きなサイズのボリュームにクローンする
2. 前提条件
前回の補足的な位置づけなので、ブロックボリュームは作成&アタッチ済みで、「5-2. ディスクパーティションを作成する」以降の差分だけを書くことにする。
3. 追加したブロックボリュームを使えるように構成する
3-1. パーティション構成を確認する
追加したブロックボリュームを確認する。すると/dev/sdb
として追加され、コンシステンス・デバイス・パス/dev/oracleoci/oraclevdb
として定義されていることがわかる。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 512G 0 disk sda 8:0 0 46.6G 0 disk ├─sda2 8:2 0 8G 0 part [SWAP] ├─sda3 8:3 0 38.4G 0 part / └─sda1 8:1 0 200M 0 part /boot/efi
# ll /dev/oracleoci/oraclevd* lrwxrwxrwx. 1 root root 6 Jul 16 19:13 /dev/oracleoci/oraclevda -> ../sda lrwxrwxrwx. 1 root root 7 Jul 16 19:13 /dev/oracleoci/oraclevda1 -> ../sda1 lrwxrwxrwx. 1 root root 7 Jul 16 19:13 /dev/oracleoci/oraclevda2 -> ../sda2 lrwxrwxrwx. 1 root root 7 Jul 16 19:13 /dev/oracleoci/oraclevda3 -> ../sda3 lrwxrwxrwx. 1 root root 6 Jul 16 19:13 /dev/oracleoci/oraclevdb -> ../sdb
3-2. ディスクパーティションを作成する
LVMは使用しないので、LVMフラグを付けずに作成する。ここではコンシステンス・デバイス・パスを指定しているが/dev/sdb
でもよい。
# parted -s -a optimal /dev/oracleoci/oraclevdb \ mklabel gpt \ mkpart primary 0% 100%
パーティション情報を確認するとsdb1
が定義されていることがわかる。
# parted /dev/oracleoci/oraclevdb print Model: ORACLE BlockVolume (scsi) Disk /dev/sdb: 550GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 550GB 550GB primary
# lsblk -o +UUID NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID sdb 8:16 0 512G 0 disk └─sdb1 8:17 0 512G 0 part c31941dc-9bae-4680-9c35-8f195b0db30d sda 8:0 0 46.6G 0 disk ├─sda2 8:2 0 8G 0 part [SWAP] d2f67c75-3f12-4abb-9c5a-ae8c23426d7c ├─sda3 8:3 0 38.4G 0 part / 666196a2-64e0-4535-a3f8-7d746a37d900 └─sda1 8:1 0 200M 0 part /boot/efi 6F4C-7CE8
3-3. ファイルシステムを作成する
ファイルシステムをxfsでフォーマットする。ext4のときには、代わりにmkfs.ext4
を指定する。
# mkfs.xfs /dev/oracleoci/oraclevdb1 meta-data=/dev/oracleoci/oraclevdb1 isize=256 agcount=4, agsize=33554304 blks = sectsz=4096 attr=2, projid32bit=1 = crc=0 finobt=0, sparse=0, rmapbt=0, reflink=0 data = bsize=4096 blocks=134217216, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=65535, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
3-4. 次の手順は
残るは以下の作業である。この部分は同じなので「5-7. ブロックボリュームをマウントする」以降を参照のこと。
- マウントポイントの作成
- /etc/fstabの作成
- ファイルシステムのマウント
4. コピペ用まとめバージョン
コンシステンス・デバイス・パス使用の有無によって一番違うのは/etc/fstab
である。使用しないときは必ずUUIDを指定する。
コンシステンス・デバイス・パス使用
# パーティション作成 parted -s -a optimal /dev/oracleoci/oraclevdb mklabel gpt mkpart primary 0% 100% # ファイルシステム作成 mkfs.xfs /dev/oracleoci/oraclevdb1 # マウントポイント作成 mkdir /mnt/vol01 chown opc:opc /mnt/vol01 # /etc/fstab元ネタ。次の行を/etc/fstabの末尾に追加する echo "/dev/oracleoci/oraclevdb1 /mnt/vol01 xfs defaults,_netdev,nofail 0 2"
コンシステンス・デバイス・パス不使用
# パーティション作成 parted -s -a optimal /dev/sdb1 mklabel gpt mkpart primary 0% 100% # ファイルシステム作成 mkfs.xfs /dev/sdb1 # マウントポイント作成 mkdir /mnt/vol01 chown opc:opc /mnt/vol01 # /etc/fstab元ネタ。次の行を/etc/fstabの末尾に追加する echo UUID= ; lsblk -o +UUID | grep sdb1 | awk '{print $NF}' ; echo " /mnt/vol01 xfs defaults,_netdev,nofail 0 2"