banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Ubuntu] open-iscsiを使用してiscsi接続Targetを開始する

異なるクラウドプロバイダーに配置された複数の VPS サーバーを所有しており、定期的にサーバーデータをバックアップすることは非常に困難な問題です。通常、NFS マウント方法を使用し、s3fs-fuse を使用して S3 のバケットをローカルパーティションにマウントし、バックアップするファイルをそのパーティションに書き込むことがあります。

しかし、最近 S3 へのアクセスの安定性が非常に低いことが確認されました。AWS の本拠地であるアメリカでも、s3fs-fuse でマウントされたパーティションでは、比較的安定した読み書きができません。大量のファイルや継続的な読み書きの場合、効果は非常に理想的ではありません。

最近、AWS Storage Gateway を使用して仮想マシンを直接 iscsi のターゲットに接続し、対応する LUN とボリュームを操作できることがわかりました。iscsi プロトコルは HTTP/S よりも低い TCP/IP プロトコルを使用しているため、s3fs の方法よりも安定しています。

また、AWS Storage Gateway のインバウンドトラフィックは無料で、S3 や EBS へのストレージ費用のみが請求されます。

サーバーバージョン:Ubuntu18.04 LTS デバイスターゲット:/dev/sdc

  1. iscsi イニシエータープログラムのインストールと設定 1. open-iscsi および open-iscsi-utils のインストール

open-iscsi および open-iscsi-utils のインストール#

sudo apt-get install open-iscsi open-iscsi-utils

  1. iscsi ターゲットの検出

iscsi ターゲットの検出#

sudo iscsiadm -m discovery -t sendtargets -p XXX.XXX.XXX.XXX:3260

  1. ターゲットへのログイン

ターゲットへのログイン#

sudo iscsiadm -m node --targetname iqn.1997-05.com.amazon.XXXXXX -p XXX.XXX.XXX.XXX:3260 --login

  1. ディスクのマウント

  2. ディスクの検出およびパーティションのフォーマット

fdisk -l

  1. パーティションのフォーマット

fdisk /dev/sdc
mkfs.ext4 /dev/sdc1

  1. 指定した場所にマウント

sudo mkdir /mnt/backup
sudo mount /dev/sdc1 /mnt/backup

  1. ディスクのアンマウント

sudo unmount /mnt/backup

  1. ブート時に LUN に自動接続し、ディスクをマウントする

  2. ターゲットへの自動ログイン /etc/iscsi/iscsid.conf を編集し、Gateway への自動ログインを有効にする

vi /etc/iscsi/iscsid.conf

自動起動#

node.startup = automatic

  1. /etc/fstab を編集し、ブート時に自動マウントする

ファイルシステムの UUID を取得#

tune2fs -l

/etc/fstab を編集し、ブート時に自動マウントする

/etc/fstab を編集#

sudo vi /etc/fstab

/etc/fstab に追加#

UUID=6dba31ff-xxxx-4430-bbd2-c1a932a53308 /backup ext4 _netdev 0 0

注意すべきポイント: 1. AWS Storage Gateway との接続中に不明な中断が発生した場合、デバイスを強制的にリフレッシュすることができます。

udevadm test /sys/block/sdc

  1. 接続タイムアウトが発生した場合、通常はネットワークの品質に関連しています。AWS は iscsid.conf を変更することを推奨しています。

vi /etc/iscsi/iscsid.conf

# 接続タイムアウトパラメータを変更
node.session.timeo.replacement_timeout = 600
node.conn[0].timeo.noop_out_interval = 60
node.conn[0].timeo.noop_out_timeout = 600

参考:https://docs.aws.amazon.com/storagegateway/latest/userguide/initiator-connection-common.html#CustomizeLinuxiSCSISettings

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。