【手順】iSCSIでボリュームアタッチ
手順概要
- ボリューム作成&アタッチ(コンソール)
- フォーマット&マウント(OS)
- デタッチ&アンマウント(OS)
1. ボリューム作成&アタッチ(コンソール)
1-1. ボリューム作成
OREOという名前のボリュームを作成
1-2. ボリュームのアタッチ
先ほどのOREOをvm21というインスタンスにアタッチ。
アタッチ方法:iSCSI
デバイスパス:/dev/oracleoci/oraclevdb
アタッチすると、注意事項が表示される。
*デタッチする前に、ドライブをアンマウントしてから切断コマンドを実行する必要があり、そうでない場合、インスタンスの再起動が失敗します。
*このボリュームをインスタンスのetc/fstabファイルに追加して起動時に自動的にマウントする場合、_netdevおよびnofailオプションを含める必要があります。
アタッチが完了すると「アタッチされたブロックボリューム」のエリアにOREOが表示されるようになる。トリコロンをクリックして、iSCSIコマンドをコピーしておく。
2. フォーマット&マウント(OS)
2-1. 初期状態の確認
最初に現在の状態を確認しておく。
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.2G 0 7.2G 0% /dev/shm tmpfs 7.2G 8.8M 7.2G 1% /run tmpfs 7.2G 0 7.2G 0% /sys/fs/cgroup /dev/sda3 39G 5.6G 33G 15% / /dev/sda1 200M 7.5M 193M 4% /boot/efi tmpfs 1.5G 0 1.5G 0% /run/user/0 tmpfs 1.5G 0 1.5G 0% /run/user/994 tmpfs 1.5G 0 1.5G 0% /run/user/1000 $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 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
lsblk
は利用可能なブロックデバイスをツリー状で表示してくれるコマンド。
RM=リムーバブル (1=リムーバブル)
RO=ReadOnly (1=ReadOnly)
2-2. アタッチしたデバイスにアクセス
1-2.でコピーしておいたアタッチコマンドを3つとも実行。
$ sudo iscsiadm -m node -o new -T iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -p 169.254.2.3:3260 New iSCSI node [tcp:[hw=,ip=,net_if=,iscsi_if=default] 169.254.2.3,3260,-1 iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec] added $ sudo iscsiadm -m node -o update -T iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -n node.startup -v automatic $ sudo iscsiadm -m node -T iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -p 169.254.2.3:3260 -l Logging in to [iface: default, target: iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec, portal: 169.254.2.3,3260] (multiple) Login to [iface: default, target: iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec, portal: 169.254.2.3,3260] successful.
もう一度、lsblk
でブロックデバイスを確認してみる。一段目にsdbが新たに表示されるようになっている。OSから新しくブロックデバイスが認識されていることが分かるが、まだマウントされていないのでマウントポイントは空欄。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 50G 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
2-3. パーティション作成
現在のパーティション情報を確認しておく。
/dev/sdaは、パーティションテーブルがGPTでファイルシステムはxfs。GPTは従来のMBRよりいい感じのパーティション管理ができるやつで、xfsも何かいい感じのファイルシステムのこと。詳しいことは何度調べても忘れてしまうので「いい感じのやつ」で済ませています。
/dev/sdbにはまだパーティションを作成していない。この状態だと「ディスクラベルが認識できません」と言われるようだ。
$ sudo parted -l モデル: ORACLE BlockVolume (scsi) ディスク /dev/sda: 50.0GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 211MB 210MB fat16 EFI System Partition boot 2 211MB 8801MB 8590MB linux-swap(v1) 3 8801MB 50.0GB 41.2GB xfs エラー: /dev/sdb: ディスクラベルが認識できません。 モデル: ORACLE BlockVolume (scsi) ディスク /dev/sdb: 53.7GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: unknown ディスクフラグ:
parted
コマンドを使ってパーティションを作成。マニュアルにあったコマンドをそのまま実行。
$ sudo parted -s -a optimal /dev/sdb mklabel gpt mkpart primary 0% 100%
作成したパーティションの確認。sdb1としてパーティションが作成されている。
$ sudo parted /dev/sdb print モデル: ORACLE BlockVolume (scsi) ディスク /dev/sdb: 53.7GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: gpt ディスクフラグ: 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 53.7GB 53.7GB primary $ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 50G 0 disk └─sdb1 8:17 0 50G 0 part 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
2-4. ファイルシステム作成
xfsでファイルシステムを作成。
$ sudo mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=256 agcount=4, agsize=3276672 blks = sectsz=4096 attr=2, projid32bit=1 = crc=0 finobt=0, sparse=0, rmapbt=0 = reflink=0 data = bsize=4096 blocks=13106688, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=6399, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
マウントポイント作成
$ sudo mkdir /mnt/bv1 $ sudo chown opc:opc /mnt/bv1
fstabに登録するため、UUIDを確認しておく。
$ lsblk -o +UUID NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID sdb 8:16 0 50G 0 disk └─sdb1 8:17 0 50G 0 part bf1fd487-4867-4a16-b12d-a75743db3259 sda 8:0 0 46.6G 0 disk ├─sda2 8:2 0 8G 0 part [SWAP] 5901d603-d1bb-44d2-8b04-5189dbe331d2 ├─sda3 8:3 0 38.4G 0 part / efa8c2db-9721-448e-81db-ef48a83416ca └─sda1 8:1 0 200M 0 part /boot/efi 1F17-62E7
/etc/fstab編集
$ sudo vi /etc/fstab (以下を追記) UUID=bf1fd487-4867-4a16-b12d-a75743db3259 /mnt/bv1 xfs defaults,_netdev,nofail 0 2
/etc/fstabの設定を反映
$ sudo mount -a
dfコマンドで確認。/dev/sdb1のマウントポイントが/mnt/bv1であることが確認できる。
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 7.2G 0 7.2G 0% /dev tmpfs 7.2G 0 7.2G 0% /dev/shm tmpfs 7.2G 8.8M 7.2G 1% /run tmpfs 7.2G 0 7.2G 0% /sys/fs/cgroup /dev/sda3 39G 5.6G 33G 15% / /dev/sda1 200M 7.5M 193M 4% /boot/efi tmpfs 1.5G 0 1.5G 0% /run/user/0 tmpfs 1.5G 0 1.5G 0% /run/user/994 tmpfs 1.5G 0 1.5G 0% /run/user/1000 /dev/sdb1 50G 33M 50G 1% /mnt/bv1
3. デタッチ&アンマウント(OS)
1-2.でコピーしておいたデタッチコマンドを2つとも実行。
$ sudo iscsiadm -m node -T iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -p 169.254.2.3:3260 -u Logging out of session [sid: 1, target: iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec, portal: 169.254.2.3,3260] Logout of [sid: 1, target: iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec, portal: 169.254.2.3,3260] successful. $ sudo iscsiadm -m node -o delete -T iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -p 169.254.2.3:3260
一応、discoveryでターゲットを検索してみる。
$ sudo iscsiadm -m discovery -t iqn.2015-12.com.oracleiaas:38901350-d5d5-420e-8b89-746e96fdd5ec -p 169.254.2.3:3260 iscsiadm: Discovery record [169.254.2.3,3260] not found!
アンマウント
$ sudo umount /mnt/bv1