hetzner.deでEX4クラスのサーバーをいくつかレンタルしたところ、サーバーに2つの3Tbディスクがインストールされたという問題に直面しました。 MBRパーティションテーブルを持つディスクは2.2 TBしかアドレスできないという既知の問題があります。 MBRを構成して800ギガバイトのディスクスペースを放棄するか、GPTテーブルを作成してそこからブートしようとするかの2つのオプションがありました。これは簡単ではありませんが、実際には単純です。
さらに、Xenを置くための小さなハウツー。
ステップバイステップ
サーバーをレンタルした後、IP、ログイン、およびパスワードが新しいサーバーに送信されます。sshによって、Debianに基づいたレスキューシステムに入りますが、これは私たちにとって邪魔ではありません。
2つのsdaおよびsdbディスクをraid1アレイに結合し、その上にLVMを作成することが決定されました。それを危険にさらさないために、ブートを別のパーティションに配置することが決定されました。efi用の追加パーティションも必要です。
プログラムを中断します
gdisk /dev/sda
起動する最初のセクションを作成します
Command:n Partition Number: 1 ↵ First sector: ↵ Last sector: +100M ↵ Hex Code: ↵
efiになる2番目のセクションを作成します
Command: n ↵ Partition Number: 2 ↵ First sector: ↵ Last sector: +32M ↵ Hex Code: EF02 ↵
彼がセクションのタイプを示すことは非常に重要であることに注意したい。
LVMの下に3番目のセクションを作成します
Command: n ↵ Partition Number: 3 ↵ First sector: ↵ Last sector: ↵ Hex Code: ↵
wコマンドを使用してデータをディスクに書き込み、終了します。
sdbドライブについても同じことを行います。
ライドアレイを作成します。
ブート用の配列:
mdadm –C /dev/md0 –-level=1 -–raid-devices=2 -–metadata=0.9 /dev/sd[ab]1
LVMの配列:
mdadm –C /dev/md1 –-level=1 –-raid-devices=2 /dev/sd[ab]3
同期が正常に開始されたことを確認します。
cat /proc/mdstat
LVMグループを作成します。
pvcreate /dev/md1 vgcreate ld1 /dev/md1 vhchange –ay
LVMセクションを作成します。
lvcreate –L2G –n swap ld1 lvcreate –L8G –n root ld1
セクションをフォーマットします。
mkswap /dev/ld1/swap mkreiserfs /dev/md0 mkreiserfs /dev/ld1/root
フォルダーを作成し、そこに新しいルートをラッチします。
mkdir /mnt/gentoo mount /dev/ld1/root /mnt/gentoo
さらに、Gentoo.orgのマニュアルでは、ステージ3からGentooを置きます。これに焦点を当てず、コマンドのリストのみをリストします。
cd /mnt/gentoo wget http://de-mirror.org/gentoo/releases/amd64/current-stage3/stage3-amd64-20111006.tar.bz2 tar –xvjpf stage3-amd64-20111006.tar.bz2 mount /dev/md0 boot mount –o bind /dev/ dev mount –t proc proc proc cp /etc/resolv.conf etc/ scp make.conf etc/make.conf
私にとってはこのように見えます:
CFLAGS="-O2 -pipe" CXXFLAGS="${CFLAGS}" CHOST="x86_64-pc-linux-gnu" MAKEOPTS="-j9" LINGUAS="ru" ACCEPT_KEYWORDS="~amd64" USE="-ipv6 mmx sse sse2 hvm qemu pygrub xen static-libs agent efiemu"
私たちは続けます:
chroot /mnt/gentoo env-update && source /etc/profile emerge -–sync echo “=sys-fs/lvm2-2.02.88” >> /etc/portage/package.mask emerge gentoo-sources screen vim vixie-cron metalog reiserfsprogs mdadm lvm2 gentoolkit genkernel dhcp mdadm -–detail -–scan >> /etc/mdadm.conf ln –s /etc/init.d/net.lo /etc/init.d/net.eth0
raidおよびlvmのサポートを使用してカーネルを構成およびビルドします。genkernelを使用してビルドします。
fstabを編集します。
/dev/md0 /boot reiserfs noatime 1 2 /dev/ld1/root / reiserfs noatime 0 1 /dev/ld1/swap none swap sw 0 0
passwdを介してrootパスワードを設定します。
サービス負荷をかける:
rc-update add net.eth0 default rc-update add sshd default rc-update add metalog default rc-update add vixie-cron default
ここで最も興味深いのは、grubまたはむしろそのバージョン2を構成することです。
echo "sys-boot/grub:2" >> /etc/portage/package.accept_keywords echo "sys-boot/grub:2" >> /etc/portage/package.unmask emerge -av sys-boot/grub:2
ディスクに無作法に書き込む必要があります。
grub2-install /dev/sda grub2-install /dev/sdb
そして、それを設定するために、私はこのようにしました:
grub2-mkconfig -o test.cfg
出力で、彼は私のためにtest.cfgを作成しました。
行を変更しました
linux /kernel-genkernel-x86_64-3.0.6-gentoo root=/dev/mapper/ld1-root ro
に
linux /kernel-genkernel-x86_64-3.0.6-gentoo root=/dev/ram0 real_root=/dev/ld1/root dolvm domdadm init=/linuxrc
そして、このファイルをブートにコピーしました:
cp test.cfg /boot/grub2/grub.cfg
すべてが過負荷になる可能性があります。
xen自体をインストールして構成する
emerge xen xen-tools –av
ネットワークをセットアップします。
cat /etc/conf.d/net bridge_br0="eth0" rc_need_br0="net.eth0" config_eth0=("null") config_br0=( "xxxx/27" "192.168.194.1/24" ) routes_br0=("default gw yyyy")
自動ロードするブリッジを追加します。
ln –s /etc/init.d/net.lo /etc/init.d/net.br0 rc-update add net.br0 default
/etc/xen/xend-config.sxpファイルの行をコメントアウトします
(network-script network-bridge)
Xenのスタートアップに追加:
rc-update add xenstored default
次の行をfstabに追加します。
none /proc/xen xenfs defaults 0 0
準仮想化サポートを有効にするためのカーネルの再構成:
Processor type and features ---> [*] Paravirtualized guest support ---> [*] Xen guest support -*- Enable paravirtualization code [*] Paravirtualization layer for spinlocks
さらに、デバイスドライバーに移動します--->
そして、すべてのバックエンドを含めます:
<*> Block-device backend driver <*> Xen backend network device
さらに、Xenドライバーのサポート--->
すべてのチェックマークをオンにします。 カーネルにコンパイルします。
genkernel経由でカーネルを再構築し、grub.cfgを修正します
multiboot /xen.gz module /kernel-genkernel-x86_64-3.0.6-gentoo root=/dev/ram0 real_root=/dev/ld1/root dolvm domdadm init=/linuxrc module /initramfs-genkernel-x86_64-3.0.6-gentoo
私たちは過負荷であり、仮想マシンを作成できます。
構成例:
cat /etc/xen/dp-rdp kernel = "/usr/lib/xen/boot/hvmloader" builder='hvm' vcpus=2 memory = 3400 shadow_memory = 8 name = "dp-rdp" vif = [ 'type=ioemu, bridge=br0, mac=00:16:3e:03:00:c5' ] disk = [ 'phy:/dev/ld1/dprdp,hda,w' , 'phy:/dev/ld1/dprdp_back,xvdb,w' , 'file:/root/Windows.x64.6in1.DVD-XiSO.iso,hdc:cdrom,r' ] device_model = '/usr/lib64/xen/bin/qemu-dm' boot="c" acpic=0 sdl=0 vnc=1 vncdisplay=1 vnclisten="0.0.0.0" vncpasswd=' ' stdvga=0 usb=0
仮想マシンは次のコマンドで起動します:
xl create /etc/xen/dp-rdp
PSカーネルのチューニングに問題がある場合は、コメントに書き込み、完成した.configをどこかに投稿します。