iSCSIの接続と使い方 [Ubuntu Server 22.04]

Linux
スポンサーリンク

今回はUbuntu ServerにiSCSIをマウントする方法を紹介します。

スポンサーリンク

環境

今回使用する環境を紹介します。
iSCSIサーバはTrueNASの機能にあるものを使用しました。そしてクライアントはUbuntu Server 22.04を使いました。

インストール

必要なパッケージをインストールします。Ubuntu Serverの場合、すでにインストール済みの場合がありますが一応確認します。

確認コマンドは以下の通りです。

$ dpkg -l open-iscsi
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前           バージョン     アーキテクチ 説明
+++-==============-==============-============-=================================
ii  open-iscsi     2.1.5-1ubuntu1 amd64        iSCSI initiator tools

黄色マーカでマークがされている部分が「ii」でない場合は下にあるコマンドを実行してインストールしてください。
インストール後確認コマンドを実行すると「ii」になっていると思います。

$ sudo apt-cache search open-iscsi

これでインストール完了です。

iSCSIとの接続

準備ができたので実際に接続していきます。

ここからはiscsiadmコマンドを使っていきます。iscsiadmコマンドの参考になるブログを見つけたので紹介しておきます。(特にオプション関係)

まず、ISCSIサーバを見つけて登録します。以下がコマンド例です。IPアドレス部分は環境によって変わるので自分の環境にあわせて入力してください。

$ sudo iscsiadm -m discoverydb -t st -p [IPアドレス]:[ポート番号] --discover
--例--
$ sudo iscsiadm -m discoverydb -t st -p 192.168.1.2:3260 --discover

これで全てのターゲットが登録されました。
次にCHAP認証の設定を行います。この設定はiSCSIサーバでCHAP認証を有効にしている場合設定が必要です。

設定ファイルをテキストエディタで編集します。

$ sudo nano /etc/iscsi/iscsid.conf
#discovery.sendtargets.auth.authmethod = CHAP
#discovery.sendtargets.auth.username = username
#discovery.sendtargets.auth.password = password
#discovery.sendtargets.auth.username_in = username_in
#discovery.sendtargets.auth.password_in = password_in

編集ができたら変更を保存して終了します。

最後にターゲットにログインします。

$ sudo iscsiadm -m node -T [address] -l

ログアウトする場合のコマンドも紹介しておきます。

$ sudo iscsiadm -m node -T [address] --logout

これで設定完了です。

パーティション作成 & ディスクのフォーマット

iSCSIでマウントしただけではディスクとして使えません。なのでパーティション設定とフォーマットをしていきます。

ここからディスクのフォーマットをしていきます。フォーマットするデバイス名を気をつけてください。デバイス名を間違えると大切なデータが消えます。

まず、ログインしたiSCSIのデバイス名を特定します。
「lsblk」コマンドを使って確認します。

$ sudo lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  128G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  126G  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0   63G  0 lvm  /
sdb                         8:16   0  128G  0 disk 
sr0                        11:0    1  2.6G  0 rom  

今回は128GBのストレージをマウントしたので「sdb」になります。

「sda」はOSがインストールされたディスクです。

デバイス名を確認したらパーティションを作成します。

$ sudo parted --script /dev/[デバイス名] "mklabel gpt"
$ sudo parted --script /dev/[デバイス名] "mkpart primary 0% 100%"
例
$ sudo parted  --script /dev/sdb "mklabel gpt"
$ sudo parted --script /dev/sdb "mkpart primary 0% 100%"

デバイスの一覧を表示して確認しておきます。

$ sudo lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  128G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0  126G  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0   63G  0 lvm  /
sdb                         8:16   0  128G  0 disk 
└─sdb1                      8:17   0  128G  0 part 
sr0                        11:0    1  2.6G  0 rom  

フォーマットします。

$ sudo mkfs.ext4 /dev/[デバイス名]
例
$ sudo mkfs.ext4 /dev/sdb1

フォーマットしたデバイスをマウント

フォーマットしたデバイスをマウントします。今回は「mnt」にディレクトリを作成し、そこにマウントします。

ディレクトリを作成します。ディレクトリ名は「iSCSI」にします。ここは自由に変更してください。

$ sudo mkdir /mnt/iscsi

作成できたらマウントします。

$ sudo mount /dev/[デバイス名] /mnt/iscsi

これでマウント完了です。

自動マウント

システム起動時に自動でマウントできるようにします。
設定ファイルを編集します。

$ sudo nano /etc/iscsi/iscsid.conf

そして、以下の部分を変更します。

[変更前]
# node.startup = automatic
node.startup = manual

[変更後]
node.startup = automatic
# node.startup = manual

このように変更して保存します。
そして以下のファイルも編集します。その前にデバイスの「UUID」を確認しておきます。

$ sudo blkid /dev/[デバイス名]
例
$ sudo blkid /dev/sdb1
/dev/sdb1: UUID="6dd1b309-5802-405d-9bfe-4b8345599fc4" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="68655935-b334-428c-8809-100aa49323d1"

UUIDを確認したら後で使うのでメモしておきます。

$ sudo nano /etc/fstab

編集画面になったら以下のコードを参考に編集します。

UUID=[コピーしたUUID]  [マウント先]    ext4    _netdev 0   0

例
UUID=6dd1b309-5802-405d-9bfe-4b8345599fc4   /mnt/iscsi   ext4    _netdev 0   0

これで作業完了です。
再起動して正常に動作するか確認してみましょう。

まとめ

今回はiSCSIのマウントの方法を紹介しました。

コメント

タイトルとURLをコピーしました