Staff Blog - ラポ☆スタ

Work easy. Life easy.

検証環境でiSCSi領域を作ってみよう

time 2022/03/11

検証環境でiSCSi領域を作ってみよう

こんにちは。リーダーのKです。

 

仮想環境を作成する際に、仮想環境を実行するサーバーと、データを保存しておくストレージで分けて運用することがあります。
ストレージ側は大容量ディスクを仮想環境に提供して、仮想環境内部で保存用ストレージを持たない運用ができるわけです。

さて、この接続方法にはいくつかの種類があり、以下3つ程度に分けられます。
1.ファイバーチャネル(光配線)による接続
2.LANによる接続
3.SCSIカード等による接続

実環境の場合は「1.ファイバーチャネル(光配線)による接続」が多くなりますが、
個人で検証向けに使用する、サーバー=ストレージ間の接続費用が安く済むということもあり、
LANによる接続をテスト環境で使用することが多いです。

今回は、LANによる接続を行う際に使用可能な「iSCSI」の領域作成を行ってみたいと思います。

なお、以下の環境を使用いたしました。

iSCSI領域用サーバー(ESXiサーバー上で稼働)
OS:ALMA Linux 8.5
CPU:2コア
メモリ:4GB
ストレージ:200GB
IP:192.168.1.10

ESXiサーバー
OS:VMware ESXi 7.0U3e
CPU:6コア
メモリ:48GB
ストレージ:1000GB
IP:192.168.1.11

1.iSCSI領域作成のため、「targetcli」を作成する

以下のコマンドを入力し、「targetcli」をインストールします。

dnf install targetcli

2.「targetcli」を使用して、共有用ディスクイメージとiSCSiターゲットを作成する

targetcliを起動させ、共有用ディスクイメージ、他サーバーで識別する「iSCSiターゲット」名を設定します。

targetcli

——-
backstores/fileioフォルダへ移動

cd backstores/fileio

——-
targetcli内で以下のように入力し、共有用ディスクイメージを作成します。

create disk0 /[共有用ディスクイメージ保存先]/disk0.img [ディスク容量]

例:
create disk0 /iscsi_disks/disk0.img 50G

——-
/iscsiフォルダへ移動

cd /iscsi

——–
他サーバーで識別する「iSCSIターゲット」名を設定します。
create [iscsiターゲット名]

例:
create iqn.2022-02.localhost.test:test-iscsi.taget0

——–
iSCSIターゲットへ移動し、作成されたことを確認する。

cd [iscsiターゲット名]

例:
cd iqn.2022-02.localhost.test:test-iscsi.taget0

 

3.LUN作成、「ESXiサーバー」のアクセス用iSCSiホスト名を登録する

Linuxサーバー側でLUN番号を登録し、ESXiサーバーのiSCSIイニシエータを登録し、アクセスを許可させます。

——-
/iscsi/iqn.2022-02.localhost.test:test-iscsi.taget0/tpg1/lunsフォルダへ移動します。

cd tpg1/luns

——-
LUN0を作成する。

create /backstores/fileio/disk0

——-
/iscsi/iqn.2022-02.localhost.test:test-iscsi.taget0/tpg1/aclsフォルダへ移動します。

cd ../acls

——-

——–
ESXiサーバーのiSCSIイニシエータを登録します。

create [ESXiサーバーのiSCSIイニシエータ名]

例:create iqn.1998-01.com.vmware:5eb1bba4-7aa5-bd7f-89b5-0492266da452-17ae2be9

——–
作成されたら、exitします。

exit

——–
targetを再起動します。
再起動後、3260ポートが「LISTEN」になっていることを確認します。

systemctl restart target

ss -napt | grep 3260

——-

なお、ESXiサーバーのiSCSIイニシエータ名は、
「ESXiサーバー」>「ストレージ」>「アダプタ」>「ソフトウェアiSCSI」の
「名前とエイリアス」に記載してあります。

——-

4.firewalldサービスでiSCSiに必要な通信許可を実施する
firewalldサービスを有効にしている場合は実施してください。

——-
firewalldサービスが稼働しているか確認します。

firewall-cmd –state

——-
firewalldサービスの稼働中のzoneと通信許可したサービスを確認します。

firewall-cmd –state

——-
firewalldサービスへ、「iscsi-target」サービスを追加します。

firewall-cmd –add-service=iscsi-target –permanent

——-
firewalldサービスを再読み込みします。

firewall-cmd –reload

——-
firewalldサービスの稼働中のzoneと通信許可したサービスを確認し、
「iscsi-target」サービスが追加されたことを確認します。

firewall-cmd –state

——-


5.「ESXiサーバー」へiSCSiサーバーのターゲット名を登録し、ディスクとして認識させる
ESXiサーバー上でiSCSiサーバーのiSCSIターゲット名を登録し、ディスクとして認識することを確認します。

——-
ESXiサーバー Web管理画面へログインします。
ログイン後、「ESXiサーバー」>「ストレージ」>「アダプタ」>「ソフトウェアiSCSI」をクリックします。
「iSCSIの設定」画面の「固定ターゲットの追加」ボタンをクリックし、
「ターゲット」、「アドレス」を入力します。
最後に「設定の保存」をクリックします。

——-

「ESXiサーバー」>「ストレージ」>「デバイス」をクリックします。
「更新」ボタンをクリックすれば、「LIO-ORG iSCSI Disk(naa.xxxxx)」が追加されます。
後はこちらのディスクをフォーマットすれば、ESXiサーバーが使用できる領域として設定されます。

——-

以上、簡単ですがiSCSiサービスを使用したストレージを構築できました。
検証向けに古いサーバーやクライアント端末を流用してストレージ役にできますので、
ストレージが余っているクライアント等ありましたら、試してみてください。

down

コメントする




6 − 6 =


株式会社ラポールスターの採用情報