[それを言うために、それを明確にしてください!]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI

内容:
(a)の共有ストレージと共有ストレージが必要であるかを理解するには
(2)のiSCSIサーバの設定
iSCSIクライアントを設定するには、(C)


iSCSIの(インターネット小型コンピュータシステムインタフェース) 、インターネットもIP-SANとして知られている小型コンピュータシステムインタフェースは、IETFによって提案されたインターネットおよびSCSI-3プロトコルでは、それが提案し、2003年2月11日にストレージ技術をベースにそれが公式の標準になると。従来のSCSIと比較して、iSCSIテクノロジは、次の3つの革命をもたらした:元々ネイティブTCP / IPネットワークを介して送信のみに使用されるSCSIプロトコルを、接続が無制限の地理的拡張から製造することができる; 2。サーバ接続の無制限の数(元のSCSI-3の上限は15である); 3.それがサーバ・アーキテクチャであるため、それはまた、オンライン拡張、ならびに動的配置を達成することができます。
(A)は、共有ストレージと共有ストレージが必要であるかを理解
今、私たちは、クラスタ内のノードのノード1とノード2ノードでクラスタを構築したい、我々は、高可用性クラスタを設定(1.1)、そうであれば、いつノード1ときに問題のノードが迅速ノードノード2が提供するサービスに切り替わります。この時点で、私たちが直面する問題は、ノード1とノード2ノードデータの同期性と一貫性をノードことを保証するために、どのようにしました。当社のソリューションは、例えば、我々はノード1ノードがダウンしたときに、ユーザは、データのNFSサーバーにアクセスするためのノード1ノードを使用することが普通で、NFSサーバをマウントするNFSサーバー、ノードノード1とノード2ノード・ディレクトリーを設定し、共有ストレージを設定することですこの場合には、顧客がまだ通常のアクセスデータは、彼らが必要とすることができるようにノードノード2による再顧客サービスの訪問により、スイッチングノードノード2は、NFSサーバに搭載されているとき。この時点では、高可用性クラスタ、ノード間のデータの同期化することを確認する必要があります。仮想化環境での仮想マシンの移行を行う場合があり、例えば、我々はまた、共有ストレージを設定することによって、問題を解決します。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(1.2)、それは、共有ストレージに来る、私たちの共通の共有ストレージは主に3つの種類があります:最初のものは、直接接続ストレージDASで、データ線とマザーボードの方法によって互いに接続されたモバイルハードディスクの私たちの日常の動作がモデルDASあるだろうこのような乏しいストレージ拡張は、時代遅れの技術;. 2すなわち第NASストレージエリアネットワークであり、例えばWindowsフォルダ内の共有ファイルとフォルダのレベルを、共有され、他のホストがアクセスすることができディレクトリの共有、などNFS、SAMBA、FTPなど我々の共通のサービスがNASストレージを属している場合に多くのノード、NASストレージは、主な問題であり、時間の膨大な量へのアクセスは、それがパフォーマンスのボトルネックになりやすいので、一般的に私たちがします前記第三のストレージエリアネットワークSANすなわち、共有ブロックレベル、より一般的なFC-、分散ファイルシステムのパフォーマンスのボトルネックを使用して、一般的な分散ファイルシステムのようなCEPH、glusterfs、MFSを含むが容易SANネットワークとiSCSI IP-SANのネットワークに属するIP-SANネットワーク。
(1.3)今、私たちは、二つのノードを持つ2つのホスト上のAとB、AとBのノードは、今は下にバックエンド・ストレージ、ハードディスクsdx1とsdy1トップを持って、独自のローカルディスクSDAを持っていますます、例えば、ノードA上のパーティションと他の操作を同時に、ネットワークノードAとノードBを介して送信し、SDB名前SDBケースにマッピングされたハードディスクsdx1を共有し、ゾーニングの通常の実装であり、そしてノードB上の同期マップSDBに除算結果 ノードA上の例SDBがパーティションテーブルにパーティションを作成するために、この時点で、関係なく、作成されたBのSDBのノードAまたはノードのメタデータ情報を、実際には、バックエンドストレージsdx1に格納されている分割され、有効にするために保存、自動的によってノードB、SDBに格納された後端sdx1に同期。伝統的なアプローチは、光ファイバデータ伝送スイッチを使用することで、すべてのデバイスがこのようなアーキテクチャデバイス環境は非常に高価であり、データ伝送ファイバを使用して、各デバイスのHBAカードにインストールする光ファイバ、及び光ファイバを用いて接続され、何百平均的な中小企業のための万人が負担することが困難であり、そのような構造は、FC-SANネットワーク環境と呼ばれています。心配しないで、我々は良い代替をすることができ、IP-SANのネットワークを使ってフィードを最適化し、送信データが再カプセル化されているTCP / IPパケットを、我々は転送できるデータの通常のイーサネットスイッチを使用します。我々のSANネットワークイーサネット伝送が現実と呼ばれるように、データ記憶sdx1など、SDBのデカプセル化後のノードAに到達します。私たちのバックエンドストレージでは、私たちが直接外国sdx1またはsdy1で共有することができない、我々はターゲットがiqn.2019-09.comにちなんで命名されsdx1とsdy1を、管理するために、仮想ターゲット・デバイスを作成する必要があります。実施例:ターゲットは外国株式であるときディスク、我々はストレージを共有しました。
二つのデバイスsdx1とsdy1を接続ターゲット上のターゲットとインタフェースが実際の仮想ないので、全ては、二つのインターフェースを持っているので、インタフェースという名前のLUN(Logical Unit Number)や論理ユニット番号。ノードAとBの端にSDBとsdcのことを学ぶ必要がありますので、例えば、いくつかの特定のバックエンド・ストレージのハードドライブがあるされたときにノード学習対象の2つのだけLUNのアップを見ることができますが、知りません
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI


(二)配置iSCSI服务器端
(2.1)服务器的配置主要包括:准备磁盘,创建target,把target和磁盘关联,以及其他设置。我们首先在vms001主机上的扩展分区中创建sda5和sda6用于共享出去。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
我们创建的sda5和sda6是作为iSCSI后端存储的两块硬盘
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.2)保存设置后,还要将分区设置同步到磁盘。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.3)首先在vms001主机上安装target软件,并将target服务启动起来,还要设置开机自动启动,此时iSCSI服务器端便可以正常的登录了。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.4)进入iSCSI服务器端的控制界面后使用# ls /可以当前iSCSI的配置情况。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.5)在iSCSI服务器的后端存储backstores中,创建两个块设备block1和block2,并使用创建的后端存储sda5和sda6与其一一对应起来。
注意:如果我们的block1创建错了,可以使用delete命令进行删除
/> /backstores/block delete block1
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.6)接着我们在iscsi中创建一个target
注意:如果这个target创建错了,我们可以使用如下的方式进行删除
/> /iscsi delete iqn.2019-09.com.example:disk
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.7)此时我们便可以对acl、luns、portals的值进行相关设置,首先进入到/iscsi/iqn.2019-09.com.example:disk/tpg1/路径下并设置acl的值。
注意:如果acl的值我们设置错误了,可以通过如下的方式进行删除
/> acls/ delete iqn.2019-09.com.example:xx
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.8)接着我们在luns中创建对应的逻辑单元号,主要是和backstores中的block进行关联。
注意:如果第一个逻辑单元号创建错了,那么我们可以使用如下的方式删除
/> luns/ delete 0
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.9)接着我们对portals进行设置,其中portals代表端口的意思,如果我们设置portals监听在192.168.26.101主机的3260端口上不太合适,也可以设置portals监听在所有主机的3260端口上。退出后所有的设置都保存在/etc/target/saveconfig.json文件中了。
# cat /etc/target/saveconfig.json | json_reformat
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(2.10)接着在防火墙设置将3260端口开放,此时我们服务器端便配置完毕了。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI


(三)配置iSCSI客户端
(3.1)接着我们在vms002主机上安装iSCSI的客户端。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.2)首先我们必须要知道服务器vms001这边共享的target是什么,所以需要做“发现”的操作。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.3)接着要在/etc/iscsi/目录下的initiatorname.iscsi文件中设置acl的值为vms001主机acls中设置的iqn.2019-09.com.example:xx即可。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.4)然后将服务重启一下并且设置开机自动启动,再从vms002主机的iSCSI客户端登录到vms001主机上的iSCSI服务中。
注意:①如果是加载某个指定的target的时候是使用
# iscsiadm -m discovery -t st -p 192.168.26.101
# iscsiadm -m node -T iqn.2019-09.com.example:disk -p vms001.example.com -l
②如果是加载所有的target的时候是使用
# iscsiadm -m discovery -t st -p 192.168.26.101 -l
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.5)我们也可以使用lsscsi命令查看当前vms002主机上iSCSI设备的挂载情况。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.6)我们也可以使用如下的命令可以查看vms002主机上的连接iSCSI服务器的属性,而且显示的信息依次变得更详细。
# iscsiadm -m session -P0
# iscsiadm -m session -P1
# iscsiadm -m session -P2
# iscsiadm -m session -P3
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.7)如果我们想在vms002主机上断开当前iSCSI指定的挂载则可以使用如下的命令:
# iscsiadm -m node -T iqn.2019-09.com.example:disk -p vms001.example.com -u
(3.8)但是-u命令只是临时的断开连接的命令,客户端重启之后还是会主动连接过去的,我们如果想彻底的删除iSCSI指定的挂载则可以使用如下的命令:
# iscsiadm -m node -T iqn.2019-09.com.example:disk -p vms001.example.com -o delete
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.9)由于我们已经彻底删除了,如果需要再次加载使用,此时可以使用加载所有target的命令执行即可。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.10)如果我们需要同时断开vms002主机上所有的iSCSI的挂载则可以使用如下的命令:
# iscsiadm -m node -u ALL
如果我们需要同时彻底删除vms002主机上所有的iSCSI的挂载则可以使用如下的命令:
# iscsiadm -m node -o delete
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.11)我们重新将vms002主机挂载在vms001主机的iSCSI服务上,并将sdb分区进行划分,并格式化为xfs格式。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.12)在vms002主机上创建一个/data目录,将/data目录挂载到创建的iSCSI分区/dev/sdb1上,发现此时iSCSI服务提供的分区已经可以正常的挂载使用了。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.13)、我々はまだマウントを有効にするには再起動することができるようにしたい場合は、編集用の/ etc / fstabファイルに行くべき後。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
(3.14)は、あなたが忘れてしまった場合は追加、パラメータオプションを追加する必要がある/ etc / fstabファイルの_netdevで、システムのログを記録できないが、コマンドラインでrootのパスワードを入力して覚えて、正常であり、および/ etc / fstabファイルにあることに注意してくださいプラス_netdevパラメータ、通常の再起動を継続するようになっています。
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
[それを言うために、それを明確にしてください! ]一般共有ストレージは、エンタープライズクラスのネットワークストレージサービスを展開--iSCSI
iSCSIサービスのために(3.15)実用的なアプリケーションノードAがダウンした後、我々は例えば、達成するために必要がある場合、ノードBは、直ちにサービス、データのすなわちリアルタイム同期を提供するために、同じデータを利用することができ、この時点で我々は、クラスタ・ファイル・システムのファイルとしてフォーマットする必要がありますこのシステムは、ので、私たちの共通のXFS、EXT3、ext4のは、単一のログファイルシステムに属することができ、およびデータのリアルタイム同期を行うことはできません。これまでのところ、これは我々がIP-SANのネットワークを導入するもの、その性能は、エンタープライズクラスのアプリケーションのニーズに沿ったもので、多くのNASのネットワークよりも高く、かつ無パフォーマンスのボトルネックになりますされています。

おすすめ

転載: blog.51cto.com/13613726/2438377