カテゴリー
2024年 iSCSI Linux LPIC QNAP Ubuntu コンピューター ストレージ

Linux で iSCSI イニシエーター設定 (Ubuntu 編)

PVアクセスランキング にほんブログ村 にほんブログ村 ブログブログへ
にほんブログ村

Ubuntu を使って、外部ストレージの iSCSI ターゲットに接続させた時のメモです。

今回の構成は、以下の通りです。

Ubuntu と QNAP は同じセグメントに設置していますが、別のセグメントであっても OK です。ただし、遅延がない程度の距離にした方が良いです。

以前 10ミリ秒 もないくらいの距離で試しましたが、遅くて使い物になりませんでした。同じ LAN 内にした方が良いです。

iSCSI イニシエーターのインストール

iSCSI イニシエーターのモジュールをインストールします。

kk@Jackson:~$ sudo apt -y install open-iscsi 
[sudo] password for kk: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
     <省略>
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: Generating /boot/initrd.img-6.5.0-15-generic
kk@Jackson:~$ 

iSCSI の設定

「/etc/iscsi/」のフォルダーができますので、その中の「initiatorname.iscsi」のファイルを編集します。

kk@Jackson:/etc/iscsi$ ls -la 
total 36
drwxr-xr-x   2 root root  4096 Feb  6 12:01 .
drwxr-xr-x 149 root root 12288 Feb  6 12:01 ..
-rw-------   1 root root   348 Feb  6 12:01 initiatorname.iscsi  <<< このファイルを編集
-rw-r--r--   1 root root 13334 Jan 19  2022 iscsid.conf
kk@Jackson:/etc/iscsi$ 
kk@Jackson:/etc/iscsi$ sido vim initiatorname.iscsi 

iSCSI ターゲットとなるストレージ側で設定しているターゲット名(IQN)を指定します。

## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator.  The InitiatorName must be unique
## for each iSCSI initiator.  Do NOT duplicate iSCSI InitiatorNames.
# InitiatorName=iqn.2004-10.com.ubuntu:01:c317f55f6df
InitiatorName=iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748  <<< iSCSI ターゲットを指定

次に、同じフォルダーにある「iscsid.conf」ファイルを編集します。

kk@Jackson:/etc/iscsi$ ls -la 
total 36
drwxr-xr-x   2 root root  4096 Feb  6 12:10 .
drwxr-xr-x 149 root root 12288 Feb  6 12:01 ..
-rw-------   1 root root   415 Feb  6 12:10 initiatorname.iscsi
-rw-r--r--   1 root root 13334 Jan 19  2022 iscsid.conf  <<< このファイルを編集
kk@Jackson:/etc/iscsi$ 
kk@Jackson:/etc/iscsi$ sido vim iscsid.conf

58行目から70行目にかけて設定をしていきます。

まず、CHAP 認証を有効にします。

次に、iSCSI ターゲット側で設定しているユーザー名とパスワードを指定します。

# *************
# CHAP Settings
# *************

# To enable CHAP authentication set node.session.auth.authmethod
# to CHAP. The default is None.
#node.session.auth.authmethod = CHAP
node.session.auth.authmethod = CHAP  <<< コメントを外して有効化

# To configure which CHAP algorithms to enable set
# node.session.auth.chap_algs to a comma seperated list.
# The algorithms should be listen with most prefered first.
# Valid values are MD5, SHA1, SHA256, and SHA3-256.
# The default is MD5.
#node.session.auth.chap_algs = SHA3-256,SHA256,SHA1,MD5

# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
#node.session.auth.username = username
#node.session.auth.password = password
node.session.auth.username = kkint  <<< ユーザー名を指定
node.session.auth.password = 1234567890abcde  <<< パスワードを指定

iSCSI のデーモンを再起動して、設定変更を読み込ませます。

kk@Jackson:/etc/iscsi$ sudo systemctl restart iscsid open-iscsi 

kk@Jackson:/etc/iscsi$ systemctl status iscsid open-iscsi.service 
● iscsid.service - iSCSI initiator daemon (iscsid)
     Loaded: loaded (/lib/systemd/system/iscsid.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-02-06 12:18:43 JST; 18s ago
TriggeredBy: ● iscsid.socket
       Docs: man:iscsid(8)
    Process: 808615 ExecStartPre=/lib/open-iscsi/startup-checks.sh (code=exited, status=0/SUCCESS)
    Process: 808618 ExecStart=/sbin/iscsid (code=exited, status=0/SUCCESS)
   Main PID: 808620 (iscsid)
      Tasks: 2 (limit: 4488)
     Memory: 4.4M
        CPU: 42ms
     CGroup: /system.slice/iscsid.service
             ├─808619 /sbin/iscsid
             └─808620 /sbin/iscsid

Feb 06 12:18:43 Jackson systemd[1]: Starting iSCSI initiator daemon (iscsid)...
Feb 06 12:18:43 Jackson iscsid[808618]: iSCSI logger with pid=808619 started!
Feb 06 12:18:43 Jackson systemd[1]: Started iSCSI initiator daemon (iscsid).
Feb 06 12:18:44 Jackson iscsid[808619]: iSCSI daemon with pid=808620 started!

○ open-iscsi.service - Login to default iSCSI targets
     Loaded: loaded (/lib/systemd/system/open-iscsi.service; enabled; vendor preset: enabled)
     Active: inactive (dead)
  Condition: start condition failed at Tue 2024-02-06 12:18:43 JST; 18s ago
             ├─ ConditionDirectoryNotEmpty=|/etc/iscsi/nodes was not met
             └─ ConditionDirectoryNotEmpty=|/sys/class/iscsi_session was not met
       Docs: man:iscsiadm(8)
             man:iscsid(8)

Feb 06 12:01:54 Jackson systemd[1]: Condition check resulted in Login to default iSCSI targets be>
Feb 06 12:18:43 Jackson systemd[1]: Condition check resulted in Login to default iSCSI targets be>
kk@Jackson:/etc/iscsi$ 

iSCSI 接続

ディスカバリーをしてみます。

iSCSI ターゲットの IP アドレスを指定します。

ストレージが見えましたね。

kk@Jackson:/etc/iscsi$ sudo iscsiadm -m discovery -t sendtargets -p 172.16.26.4
172.16.26.4:3260,1 iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748
kk@Jackson:/etc/iscsi$ 

状態を確認します。

こちらでもストレージが見えています。

kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node -o show 
# BEGIN RECORD 2.1.5
node.name = iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748
node.tpgt = 1
node.startup = manual
node.leading_login = No
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.ipaddress = <empty>
iface.prefix_len = 0
iface.hwaddress = <empty>
iface.transport_name = tcp
     <省略>
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD
kk@Jackson:/etc/iscsi$ 

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

「successful」が表示されれば OK です。

表示されない場合、IQN や IP アドレス、ユーザー名、パスワードが間違っている可能性があります。

kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node --login -p 172.16.26.4
Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748, portal: 172.16.26.4,3260]
Login to [iface: default, target: iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748, portal: 172.16.26.4,3260] successful.
kk@Jackson:/etc/iscsi$ 

接続確認

確立しているセッションを確認します。

kk@Jackson:/etc/iscsi$ sudo iscsiadm -m session -o show 
tcp: [1] 172.16.26.4:3260,1 iqn.2004-04.com.qnap:ts-231k:iscsi.jonathan.45e748 (non-flash)
kk@Jackson:/etc/iscsi$ 

QNAP の方の設定も見てみます。

Ubuntu (172.16.26.10)から接続されていますね。

システムの起動時に自動で接続するようにするには、以下の設定を入れておきます。

kk@Jackson:/etc/iscsi$ sudo iscsiadm -m node -p 172.16.26.4 -o update -n node.startup -v automatic 
kk@Jackson:/etc/iscsi$ 

パーティションを見てみましょう。

「sdb」で、ストレージの iSCSI 領域が見えてますね。

kk@Jackson:/etc/iscsi$ cat /proc/partitions 
major minor  #blocks  name

   7        0          4 loop0
   7        1      64988 loop1
   7        2      65444 loop2
   7        3      75892 loop3
   7        4      75676 loop4
   7        6     268812 loop6
   7        7     358084 loop7
   8        0   31266648 sda
   8        1     524288 sda1
   8        2   30740480 sda2
   7        8     358088 loop8
   7        9     508804 loop9
   7       10     508908 loop10
   7       11      93888 loop11
   7       12      47032 loop12
   7       13      12620 loop13
   7       14      41836 loop14
   7       15      41400 loop15
   7       16        452 loop16
   7       17        428 loop17
   7       18     268380 loop18
   8       16 2411724800 sdb  <<<
   8       17 2411722752 sdb1
kk@Jackson:/etc/iscsi$ 

面白かったら、フォローしてください!

世の中には楽しいことがいっぱい - にほんブログ村

関連するブログ:

最近の人気ブログ TOP 10:

最近の記事:

カテゴリー
2022年 QNAP VMWare コンピューター ストレージ 技術一般

ESXi サーバーのデータストアとして QNAP を使う(iSCSI 編)

PVアクセスランキング にほんブログ村 にほんブログ村 ブログブログへ
にほんブログ村

自宅で使っている VMWare ESXi のローカルハードディスク上のデータストア領域が少なくなり、以前、NFS を使って QNAP のストレージ領域をマウントして使ってみました。

今度は、iSCSI でもマウントをやってみたいと思い試してみました。

私がやりたいのは、こんな感じです。

VMWare ESXi 側の準備

まず、ESXi サーバー側のファイヤーウォール機能で、iSCSI が通信許可されているかを確認します。

Networking > Firewall Rules > Software iSCSI Client

「Outgoing Ports」で使用するポートが通信許可されていれば OK です。

QNAP での iSCSI 設定

iSCSI & ファイバーチャネル」から設定を行います。

左側メニューの中から「iSCSI ストレージ」を選択します。

「作成」をクリックし、「新しい iSCSI ターゲット」を選択します。

iSCSI ターゲット作成ウィザードが表示されます。

「次へ」をクリックして進みます。

iSCSI ターゲットプロファイル」を設定していきます。

  • 名前: iSCSI ターゲットの名前
  • ターゲットエイリアス:上の名前の別名(同じでもよい)

IQN iSCSI でストレージを指定するときに使うアドレスです。「名前」の値が使われるので、使いやすい名前にしておきましょう。

「次へ」をクリックして進みます。

ESXi サーバーから iSCSI ストレージをマウントする際に、認証は必須となります。後からでも設定はできますが、ここで忘れずに設定しておきましょう。

  • CHAP 認証の使用: 有効化
  • ユーザー名: 認証で使用するユーザー名
  • パスワード: 認証で使用するパスワード

「次へ」をクリックして進みます。

設定した iSCSI 向けの内容を確認します。

「適用」をクリックして、設定を適用します。

ブロックベース LUN 作成ウィザード」が起動します。

「ストレージプール」のプルダウンメニューから、iSCSI で使用したいストレージプールを選択します。

この例では「ストレージプール1」を選択しています。

LUN とは、ストレージ上で iSCSI で使用するように設定した領域のことです。

「次へ」をクリックして進みます。

LUN で使用許可する領域のサイズを指定します。

「次へ」をクリックして進みます。

設定内容を確認し、問題なければ「完了」をクリックして、選定を終了します。

iSCSI ターゲットが作成されて表示されました。

ESXi から iSCSI の LUN をマウント

ESXi サーバーにログインします。

左側のメニューの中の「ストレージ」をクリックします。

アダプター」タブをクリックします。

ソフトウェア iSCSI」をクリックします。

「iSCSI の設定」ウィンドウが表示されますので、「有効化」を選択して、ESXi サーバーで iSCSI が使用できるようにします。

設定の詳細項目が表示されます。

  • CHAP Authentication(CHAP認証): CHAP を使用

Static Target(静的ターゲット)

  • Target(ターゲット): iSCSI ターゲットを入力
  • Address(アドレス): QNAP のIP アドレスを入力
  • Port(ポート番号): 3260(変更しているならその番号)

デバイス」タブをクリックします。

新規のデータストア」をクリックします。

データストアの作成ウィザードが起動します。

「名前」に、データストアの名前を入力します。QNAP の iSCSI 領域(LUN)と見て分かるようにしておいた方が、後から分かりやすく便利です。

「次へ」をクリックして進みます。

パーティション設定は、特に何も触りません。

「次へ」をクリックして進みます。

設定内容を確認し、問題なければ「完了」をクリックして、設定を保存します。

ワーニングメッセージが表示されますが、「はい」をクリックします。

設定内容の確認

「データストア」のタブをクリックします。

ESXi サーバー上で利用可能なデータストアの一覧が表示されます。

この中に、先ほど新規作成して追加した QNAP の iSCSI 領域(LUN)が表示されてますね。

左側メニューの中の「ストレージ」から、今回追加した QNAP の iSCSI 領域 (LUN) を選択します。

今回追加した iSCSI 領域 (LUN) が表示されます。

ESXi サーバーから利用可能なストレージサイズが、右上に表示されてますね。

次に VM を作成する際に、この領域を指定すれば、VM は QNAP の iSCSI 領域 (LUN) に保存されます。

左側メニューの「ストレージ」をクリックします。

「デバイス」タブをクリックします。

QNAP iSCSI Disk が見えてますね。

ステータスが Degraded なのですが、これは問題ないみたいです。

QNAP の「iSCSI & ファイバーチャネル」の設定も見てみます。

iSCSI ターゲットリストの中で、今回作成した iSCSI ターゲットを見ると、「接続済み」と表示されており、ESXi サーバーの IPアドレスも見えてます。

詳細を見てみると、ステータスは「接続済み」になっています。

これで設定完了です。

今回は iSCSI 方式を使ったのですが、 NFS 方式を試してみたい場合は、以下のリンクで設定手順を紹介しています。

おもしろかったら、フォローしてください!

世の中には楽しいことがいっぱい - にほんブログ村

関連する記事:

最近の記事:

カテゴリー
2022年 QNAP VMWare コンピューター ストレージ 技術一般

ESXi サーバーのデータストアとして QNAP を使う(NFS 編)

PVアクセスランキング にほんブログ村 にほんブログ村 ブログブログへ
にほんブログ村

自宅で使っている仮想基盤が VMWare ESXi なのですが、これのローカルハードディスク上のデータストア領域が少なくなってきました。

ハードディスクが1台しか搭載できない小さなサーバーですので、足すこともできず、どうしようかなと悩んでいたのですが、そういえば、ESXi って、iSCSI とか NFS での外部ストレージをサポートしていたよなと思い出し、先日購入した QNAP ストレージで試してみました。

私がやりたいのは、こんな感じです。

QNAP を先日購入したばかりで、この「NFS マウントでのデータストア」を初めて試しました。忘れないように、メモで残しておきたいと思います。

NFS サービスの有効化

QNAP のコントロールパネルから、ネットワークとファイルサービスを探します。その中に「Win/Mac/NFS/WebDAV」という項目があるので、それをクリックします。

NFS サービス」タブをクリックして、NFS の設定画面を表示させます。

NFS v2/v3 サービスを有効にする」にチェクを入れます。

「適用」をクリックして、設定を適用します。これで NFS サービスが有効になります。

共有フォルダの設定

コントロールパネルの権限設定を探します。

その中に「共有フォルダー」という項目があるので、それをクリックします。

共有フォルダーの設定画面が開きます。

作成」をクリックして、共有フォルダーを新規作成します。

共有フォルダーの作成」画面が表示されます。

フォルダー名」のところに、フォルダーの名前を入力します。この名前は、ネットワーク上から共有フォルダーとして見える名前となります。

「次」をクリックして進みます。

ユーザーのアクセス権限を設定する」画面が表示されます。ここは自分(以下の場合 User1)に RW の権限があれば良いです。

「次」をクリックして進みます。

プロパティー」画面が表示されます。

ここは特に触りません。

「完了」をクリックして、設定を完了させます。

作成した共有フォルダー名が表示されることを確認します。

そのフォルダーの「共有フォルダーの権限」をクリックします。

共有フォルダー権限の編集」画面が表示されます。

「権限タイプの選択」で「NFS ホストのアクセス」を選択します。

許可するアドレスまたはドメイン名」の中の以下の部分を設定します。

  • 左から3つ目の項目: 読み取り/書き込み
  • 左から4つ目の項目: ユーザーなしスカッシュ

「適用」をクリックして、設定を反映させます。

ESXi サーバーでのストレージ追加

ESXi サーバーにログインして、管理画面メニューから「Storage」をクリックします。

「Datastores」タブをクリックし、「New Datastore」をクリックして、新規のデータストアを作成します。

Select Creation Type」画面が表示されます。

メニューから、「Munt NFS Datastore」を選択します。

「Next」をクリックして進みます。

Provide NFS mount details」画面が表示されます。

以下の項目を設定します。

  • Name: ESXi 上でデータストアとして表示する時の名前
  • NFS Server: QNAP NAS のIPアドレス
  • NFS Share: “/share/” + QNAP のNFS 共有フォルダー名

QNAP の NFS 共有フォルダーを指定する際に、頭に”/share/” をつけるのがポイントです。

「Next」をクリックして進みます。

設定内容を確認します。

問題なければ、「Finish」をクリックして、設定を適用させます。

ESXi の管理画面のストレージの数が「2」に増え、QNAP ストレージが見えてますね。

QNAP の名前のデータストアをクリックしてみます。

QNAP のボリューム領域サイズが、データストアサイズとして見えてますね。

Datastore Browser」をクリックします。

QNAP のデータストアはちゃんと認識しています。

まだ作成したばかりなので、中は空っぽですけど。

新規仮想マシンの作成

早速、新規の仮想マシンを作成して、QNAP のデータストアを使ってみましょう。

Create a new virtual machine」を選択します。

「Next」をクリックして進みます。

Name」に仮想マシンの名前を入力します。今回はテストなので、「test-vm」としています。

Linux で CentOS5 64bit にしてみます。これは、実際に動かしたい OS とプラットフォームに合わせます

「Next」をクリックして進みます。

仮想マシンの作成先のデータストアで、QNAP を選択します。

「Next」をクリックして進みます。

テストなので、リソースはデフォルトのままで良いでしょう。これも、実際に動かしたい OS とプラットフォームに合わせます

「Next」をクリックして進みます。

「Finish」をクリックして、仮想マシンの作成を完了させます。

QNAP の FileStation から見てみると、NFS 共有フォルダーの中に、先ほど作成した仮想マシン名のフォルダーが見えますね。私の例ですと「test-vm」です。

そのフォルダーを開くと、中に仮想マシンが作成されているのが分かります。

これで、ESXi サーバーのデータストアとして QNAP を使うことに成功しました。

今回は NFS 方式を使ったのですが、次回は iSCSI 方式を試してみたいと思います。

おもしろかったら、フォローしてください!

世の中には楽しいことがいっぱい - にほんブログ村

関連する記事:

最近の記事: