ソフトウェアRAIDにCitrix XenServerをインストールする

Citrix Xen ServerはLinuxディストリビューションに基づいていますが、インストールプロセスでは、インストールされたシステムのパーティションサイズとハードドライブの構成を管理できません。 デフォルトでは、インストール中に、インストールするディスクのみに、必要に応じてディスクスペースの自動レイアウトを要求します。 インストール中に、選択したディスクに3つのプライマリパーティションが作成されます。 2つの4GBと残りのスペース用に1つ。 (ところで、2番目の4GBパーティションが必要な理由を誰かに教えてもらえますか?更新の場合、システムの復元では、インストールされたシステムの最初のパーティションのコピーがあると思いますが、正確な情報は見つかりませんでした。)



3台のディスクでXen Serverを上げる必要に直面して、少なくとも何らかのデータセキュリティを確保することを考えました。 したがって、結果の配列のレイアウトは次の形式になります。

3つのディスク上のアレイスキーム

さらに、これはどのように実装されますか。



システムのインストール。



開始するには、システムを最初のディスクに配置します。 ネットワークにはこれに関する資料が十分にあるため、インストール手順は行いません。 注意したいのは、インストール中に仮想マシンストレージへの接続を拒否する必要があるということだけです。 このために

仮想マシンのストレージ画面

[仮想マシンストレージ]画面で、最初の行のチェックを外します。 アレイを作成した後、ストレージを接続します。 そして、あなたが今それを作成するならば、我々はその後の転送のために余分な頭痛をすくい取ります。



アレイ構成。



2番目と3番目のディスク上のパーティション。


システムをインストールしてロードした後、コンソールに移動してアレイの作成を開始します。 理論から始めます。 最初のディスクの稼働中のシステムに座っています。 残りの2つのディスクにビーティングアレイを作成します。 作成されたアレイに作業システムのコピーを作成します。 叩かれたアレイから再起動します。 元のディスクをアレイに接続し、アレイの整合性が回復するのを待ちます。 その後、仮想マシン用のストレージを作成します。 それでは、始めましょう。

システムにロードした後、インストーラーによって作成されたディスクの構造を確認します。

sgdisk -p /dev/sda
      
      





出力は次のようになります。

 Disk /dev/sda: 5860533168 sectors, 2.7 TiB Logical sector size: 512 bytes Disk identifier (GUID): 77D7DEB8-2759-490F-9BA9-7269A5F9247C Partition table holds up to 128 entries First usable sector is 34, last usable sector is 5860533134 Partitions will be aligned on 2048-sector boundaries Total free space is 6042 sectors (3.0 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 8388641 4.0 GiB 0700 2 8390656 16777249 4.0 GiB 0700 3 16779264 5860533134 2.7 TiB 8E00
      
      





開始セクターと終了セクターの数は重要です。



2番目と3番目のディスクのパーティションテーブルを消去します。

 sgdisk --zap-all /dev/sdb sgdisk --zap-all /dev/sdc
      
      





そこでGPTパーティションテーブルを設定します。

 sgdisk --mbrtogpt --clear /dev/sdb sgdisk --mbrtogpt --clear /dev/sdc
      
      





最初のディスクのテーブルと同じパーティションテーブルを作成します(数字に注意して、インストールされたシステムのソースディスクの対応するパーティションに同じものを置きます)。

 sgdisk --new=1:2048:8388641 /dev/sdb sgdisk --new=2:8390656:16777249 /dev/sdb sgdisk --new=3:16779264:5860533134 /dev/sdb
      
      





 sgdisk --new=2:8390656:16777249 /dev/sdc sgdisk --new=1:2048:8388641 /dev/sdc sgdisk --new=3:16779264:5860533134 /dev/sdc
      
      





ただし、セクション識別子は置き換える必要があります。 ソースディスクと同一のものを作成し、システムがアレイから起動したくない問題を修正するために多くの時間を費やしました。 RAIDを使用したfd00パーティションID

 sgdisk --typecode=1:fd00 /dev/sdb sgdisk --typecode=2:fd00 /dev/sdb sgdisk --typecode=3:fd00 /dev/sdb
      
      





 sgdisk --typecode=1:fd00 /dev/sdc sgdisk --typecode=2:fd00 /dev/sdc sgdisk --typecode=3:fd00 /dev/sdc
      
      





ブートパーティションのフラグを配置します

 sgdisk /dev/sda --attributes=1:set:2 sgdisk /dev/sdb --attributes=1:set:2 sgdisk /dev/sdc --attributes=1:set:2
      
      







RAIDアレイの作成。


 mdadm --stop /dev/md0 mknod /dev/md0 b 9 0 mknod /dev/md1 b 9 1 mknod /dev/md2 b 9 2 mdadm --create /dev/md0 --level=1 --raid-devices=3 missing /dev/sdb1 /dev/sdc1 mdadm --create /dev/md1 --level=1 --raid-devices=3 missing /dev/sdb2 /dev/sdc2 mdadm --create /dev/md2 --level=5 --raid-devices=3 missing /dev/sdb3 /dev/sdc3 mdadm --grow /dev/md0 -b internal mdadm --grow /dev/md1 -b internal mdadm --grow /dev/md2 -b internal
      
      





この場合、mdadm --createの行にのみ特別な注意を払います。 ご想像のとおり、-level配列型。 最初の2つのセクションで、ミラーを作成します。 RAID 5で3番目のパーティションを結合します。--raid-devicesアレイに含まれるデバイスの数。 欠落は、劣化状態のアレイを意味し、最後に、アレイに入るパーティションはスペースで区切られます。 当然3つのうち2つ。 sdaドライブ上のパーティションは、後にアレイに追加されます。



稼働中のシステムを作成したアレイにコピーします。


ファイルシステムを作成してマウントします。

 mkfs.ext3 /dev/md0 mount /dev/md0 /mnt
      
      





コピーします。

 cp -vxpR / /mnt
      
      





/ mnt / etc / fstabのファイルシステムルート名を/ dev / md0に置き換えます。 構成ファイルを編集するだけです。



ブートローダーを2番目と3番目のディスクにコピーします。

 mount --bind /dev /mnt/dev mount -t sysfs none /mnt/sys mount -t proc none /mnt/proc chroot /mnt /sbin/extlinux --raid --install /boot exit dd if=/mnt/usr/share/syslinux/gptmbr.bin of=/dev/sdb dd if=/mnt/usr/share/syslinux/gptmbr.bin of=/dev/sd
      
      





システムの新しいイメージを生成します。

 chroot /mnt mkinitrd -v -f --theme=/usr/share/splash --without-multipath /boot/initrd-`uname -r`.img `uname -r` exit
      
      





ブート構成を修正します。 これを行うには、テキストエディタで/mnt/boot/extlinux.confファイルを開き、(root = LABEL = xxx)をroot = / dev / md0に置き換えます。



以前に接続されたすべてのパーティションをマウントし、システムを再起動します。 現在、最初のディスクからではなく、ビーティングされたアレイに入る他のディスクからロードしています。



最初のディスクをアレイに追加します。


パーティションのタイプを変更し、最初のディスクのパーティションをアレイに追加します。

 sgdisk --typecode=1:fd00 /dev/sda1 sgdisk --typecode=2:fd00 /dev/sda2 sgdisk --typecode=3:fd00 /dev/sda3 mdadm -a /dev/md0 /dev/sda1 mdadm -a /dev/md1 /dev/sda2 mdadm -a /dev/md2 /dev/sda3
      
      





その後、アレイの再構築が自動的に開始されます。 ディスクのサイズによっては、かなり時間がかかる場合があります。 / proc / mdstatファイルを見ると、完了までのステータスと時間を監視できます。

 watch -n 1 cat /proc/mdstat
      
      





再構築の速度を上げることができます。 Googleはこのテーマに関する多くのページを公開しています。 この記事を深く掘り下げることなく私は単にstripe_cache_sizeの値を増やして落ち着きました。



データウェアハウスの作成。



実際には、デバイス/ dev / md2の1つのコマンドがストレージを作成します。

 xe sr-create content-type=user type=lvm device-config:device=/dev/md2 shared=false name-label="Local storage"
      
      





それだけです システムを使用する準備が整いました。 その結果、特定のハードウェアコントローラーに関連付けられていないソフトウェアアレイの上にシステムがあります。 アレイを別のサーバーに移動して、稼働中のシステムをすばやく起動できます。 システムに新しいネットワークカードのみを登録する必要があると思います。 最後まで読んだ人がこのようなガイドを手に入れることを願っています。



All Articles