Hatena::Grouphimotech

HimoTech::rAdio このページをアンテナに追加 RSSフィード

2009,11,25

yumのGitCoリポジトリを利用して非モテ的簡単 Xen Dom-0 構築 @ CentOS 5.4 x86_64

| yumのGitCoリポジトリを利用して非モテ的簡単 Xen Dom-0 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio を含むブックマーク はてなブックマーク - yumのGitCoリポジトリを利用して非モテ的簡単 Xen Dom-0 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio yumのGitCoリポジトリを利用して非モテ的簡単 Xen Dom-0 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio のブックマークコメント


概要

  • 準仮想化(ParaVirtualize)を採用
  • OSイメージはファイルで
    • 取り回ししやすいので非モテ向き
ネットワーク
  • eth0をローカル
  • eth1をグローバル

CentOS 5.4インストール

XenDom-0として動けばいいだけなら、PackageのBaseも含め、何も選択せず、素のまま入れてもOK。
  • それが良いのかどうかは別として、これでもDom-0としては動きます。

インストールGUI or CUI ?

HDD構成
/boot100MB
swap1024MB
/1536MB
/usr3072MB
/var512MB
/home128MB
/data残り
  • 順番を気にしても、Disk Druid は容量順で並べ替えるので、そこはもう気にしない。
  • OSイメージファイルは /data領域 に置く
  • Dom-0としてだけ利用するなら、メモリは512MBでOK

hostname設定
vi /etc/sysconfig/network

ネットワーク設定

(eth0)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

(eth1)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

resolv設定
vi /etc/resolv.conf

[resolv.conf]

search mydomain.com
nameserver 000.000.000.000(DNS Primary)
nameserver 000.000.000.000(DNS Secondary)

hosts設定

vi /etc/hosts

[hosts]

127.0.0.1       myhost.mydomain.com      myhost     localhost.localdomain   localhost
vi /etc/hosts.allow

[hosts.allow]ローカルネットワークと自分自身からは全許可

ALL : 192.168.0.0/255.255.0.0 127.0.0.1
vi /etc/hosts.deny

[hosts.deny]許可したもの以外は全拒否

ALL : ALL

sshd設定
vi /etc/ssh/sshd_config

管理ユーザ設定

リモート接続用の管理ユーザを作成

  • ユーザ作成
useradd hoge
passwd hoge

管理ユーザでsuを許可
  • sudoの方が良いのだろうけれど…
vi /etc/login.defs

[login.defs]以下の記述を追加

# "su" only "wheel" group
SU_WHEEL_ONLY yes
  • su設定
vi /etc/pam.d/su

[su]以下のように書換

# Uncomment the following line to require a user to be in the "wheel" group.
-#auth       required     /lib/security/$ISA/pam_wheel.so use_uid
+auth       required     /lib/security/$ISA/pam_wheel.so use_uid
  • 管理ユーザをwheelグループに追加
usermod -G wheel hoge

不要ユーザ削除
userdel games
rm -rf /usr/games
userdel news
rm -rf /etc/news

SELinux設定
vi /etc/selinux/config

[config]Disableに

SELINUX=disabled

ネットワーク再起動
service network restart

リモートで再接続
  1. sshで接続してみる
  2. suでrootになってみる

yum update
yum -y update

wgetインストール
yum -y install wget

GitCoをyumリポジトリに追加
  • 今回は3.4.2を導入
cd /etc/yum.repos.d/
wget http://www.gitco.de/repo/CentOS5-GITCO_TESTING_x86_64.repo

その他のファイルとバージョンの対比@2011,11,1

ファイル名Xenバージョンyum --enablerepo=
GITCO-XEN3.3.2_x86_64.repoXen3.3.2gitco-xen3.3.3
GITCO-XEN3.4.1_x86_64.repoXen 3.4.1gitco-xen3.4.1
GITCO-XEN3.4.2_x86_64.repoXen 3.4.2gitco-xen3.4.2
GITCO-XEN3.4.3_x86_64.repoXen 3.4.3gitco-xen3.4.3
GITCO-XEN4.0.1_WO_LIBVIRT_x86_64.repoXen 4.0.1gitco-xen4.0.1_wo_libvirt
GITCO-XEN4.0.1_x86_64.repoXen 4.0.1gitco-xen4.0.1
GITCO-XEN4.0.2_WO_LIBVIRT_x86_64.repoXen 4.0.2gitco-xen4.0.2_wo_libvirt
GITCO-XEN4.1.0_WO_LIBVIRT_x86_64.repoXen 4.1.0gitco-xen4.1.0_wo_libvirt
GITCO-XEN4.1.0_x86_64.repoXen 3.4.1gitco-xen4.1.0
GITCO-XEN4.1.1_WO_LIBVIRT_x86_64.repoXen 4.1.1gitco-xen4.1.1_wo_libvirt
GITCO-XEN4.1.1_x86_64.repoXen 4.1.1gitco-xen4.1.1
  • 追記コメント@2011,11,1
    • 久々に確認してみたら、ずいぶんと対応状況が変わっていた。
      • CentOS5-GITCO_x86_64.repo や CentOS5-GITCO_TESTING_x86_64.repo がなくなった。
      • **_WO_LIBVIRT_x86_64.repo が新しくできてる。
      • libvirtのバージョンによっては不都合がある、ということか…。



Xenインストール

yum -y install xen

grub設定
vi /boot/grub/grub.conf

[grub.conf]

kernel /xen.gz-3.4.2 dom0_mem=512M

xend設定
vi /etc/xen/xend-config.sxp

[xend-config.sxp]下記を有効化

(logfile /var/log/xen/xend.log)
(xend-http-server no)
(keymap 'ja')

xend起動設定
chkconfig xend --add
chkconfig xend on

ネットワーク設定
cat << 'EOM' > /etc/xen/scripts/network-bridge-multi
#!/bin/sh
dir=$(dirname $0)
 
${dir}/network-bridge "$@" vifnum=0 bridge=xenbr0 netdev=eth0 antispoof=yes
${dir}/network-bridge "$@" vifnum=1 bridge=xenbr1 netdev=eth1 antispoof=yes

echo 0 > /proc/sys/net/ipv4/ip_forward
EOM
chmod +x /etc/xen/scripts/network-bridge-multi
vi /etc/xen/xend-config.sxp

[xend-config.sxp]下記の様に変更

-(network-script network-bridge)
+(network-script network-bridge-multi)
virsh net-destroy default
virsh net-autostart default --disable
ネットワーク設定に関しての参考URL
単純ブリッジと内部専用単純ブリッジ(複数の物理NIC装着時にも応用可能) - Stray Penguin - Linux Memo (Xen-3)
http://www.asahi-net.or.jp/~AA4T-NNGK/xen3.html#examplebrpluslinnerbr
不要なブリッジインターフェースの削除
http://e-garakuta.net/techinfo/doku.php/linux/xen

再起動
sync ; sync ; sync ; reboot



virt-installを利用して非モテ的簡単 Xen Dom-U 構築 @ CentOS 5.4 x86_64

| virt-installを利用して非モテ的簡単 Xen Dom-U 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio を含むブックマーク はてなブックマーク - virt-installを利用して非モテ的簡単 Xen Dom-U 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio virt-installを利用して非モテ的簡単 Xen Dom-U 構築 @ CentOS 5.4 x86_64 - HimoTech::rAdio のブックマークコメント

概要

  • イメージファイルは先に用意
    • OS本体と、swapに分ける
  • メモリは1.0GB
  • CPUは1CPU
  • OSディスクは28GB
  • Swapディスクは2GB

HDD構成
/dev/xvda1/boot100MB
/dev/xvda2/残り
/dev/xvdb2swap2048MB



イメージファイル作成

まずはイメージファイル配置用ディレクトリを作成
mkdir -p /data/vm/images

続いてイメージファイルを作成
dd if=/dev/zero of=/data/vm/images/myhost.mydomain.com.root.ext3 bs=1024k seek=28672 count=1
dd if=/dev/zero of=/data/vm/images/myhost.mydomain.com.swap.swap bs=1024k seek=2048  count=1
  • イメージファイルをフォーマット
/sbin/mkfs -t ext3 -j -F /data/vm/images/myhost.mydomain.com.root.ext3
/sbin/tune2fs -c 0 -i 0  /data/vm/images/myhost.mydomain.com.root.ext3
/sbin/mkswap             /data/vm/images/myhost.mydomain.com.swap.swap



Dom-Uインストール

  • ひとまずローカルネットワークのみ有効化
    • グローバルは後で追加
virt-install \
             --name=myhost.mydomain.com \
             --uuid=`/usr/bin/uuidgen` \
             --ram=1024 \
             --vcpus=1 \
             --check-cpu \
             --file=/data/vm/images/myhost.mydomain.com.root.ext3 \
             --file=/data/vm/images/myhost.mydomain.com.swap.swap \
             --nonsparse \
             --nographics \
             --paravirt \
             --mac=00:16:3e:XX:XX:XX \
             --bridge=xenbr0 \
             --location=http://mirror.centos.org/centos/5.4/os/x86_64/ \
             --keymap=ja

macアドレス命名規則については以下のものを採用

仮想NICMACアドレスは、割り当てるIPv4アドレスの 下8ビットを16進数に変換して割り当ててます。そうする事でMACアドレスのバッディングを防げます。

http://ameblo.jp/teteig/entry-10202455296.html



Dom-UにNICを追加

まずはドメイン定義ファイル配置用ディレクトリを作成
mkdir -p /data/vm/conf.d

ドメイン定義ファイルを書き出し
virsh dumpxml myhost.mydomain.com > /data/vm/conf.d/myhost.mydomain.com.xml

ドメイン定義ファイルを編集
vi /data/vm/conf.d/myhost.mydomain.com.xml

[myhost.mydomain.com.xml]下記のように変更&追加

<domain type='xen'>

    <interface type='bridge'>
      <mac address='00:16:3e:XX:XX:XX'/>
      <source bridge='xenbr1'/>
      <script path='/etc/xen/scripts/vif-bridge'/>
    </interface>

ドメイン定義ファイルを反映させる
  1. 対象サーバが停止していなければ停止
  2. 現在の定義を破棄
virsh undefine myhost.mydomain.com
  1. 新たな定義を反映
virsh define /data/vm/conf.d/myhost.mydomain.com.xml

Dom-0に合わせて自動起動するなら、下記のファイルを編集する
  • 定義を反映するたびに、デフォルトに戻るので、その都度編集する
    • 何か他に良い方法はないものか…
vi /var/lib/xend/domains/`virsh domuuid myhost.mydomain.com`/config.sxp
-(on_xend_start ignore)
+(on_xend_start start)

-(on_xend_stop ignore)
+(on_xend_stop shutdown)



Dom-Uイメージファイルのマウント&アンマウントの仕方

イメージ内にパーティションを切っていなければ、そのままマウントできる
  • マウントポイント作成
mkdir /mnt/myhost.mydomain.com
mount -o loop /data/vm/images/myhost.mydomain.com.root.ext3 /mnt/myhost.mydomain.com
  • アンマウントは下記

umount /mnt/myhost.mydomain.com


イメージ内にパーティションがある場合
  • マウントポイント作成
mkdir /mnt/myhost.mydomain.com
losetup -f
/dev/loop0
  • loop0と表示された
  • イメージファイルを、空いているループバックデバイスに結びつける
losetup /dev/loop0 /data/vm/images/myhost.mydomain.com.root.ext3
  • kpartxを使って、イメージファイルと結びつけられたループバックデバイスパーティションテーブルからデバイスマップを生成
    • fdiskを使ってoffsetを確認しても良いけれど、非モテ的にはこちらの方がラク
kpartx -a /dev/loop0
  • 普通にマウント
mount /dev/mapper/loop0p2 /mnt/myhost.mydomain.com.root.ext3
  • アンマウント手順
    • アンマウントする
umount /mnt/myhost.mydomain.com
kpartx -d /dev/loop0
losetup -d /dev/loop0

JustfaurryJustfaurry2017/05/04 14:12Comprare Viagra Senza Carta Di Credito Finax And Propecia Original Cialis Rezept <a href=http://byuvaigranonile.com>viagra</a> Viagra Order Online Usa

FrancAppeliaFrancAppelia2017/05/07 17:00Acheter Misoprostol Cytotec Prix Reel Viagra Candadapharmacy24 Potenz Levitra Amitriptyline Without Prescription <a href=http://byuvaigranonile.com>viagra</a> Propecia Epilobio Precio Discount Direct Dutasteride Without Perscription Delivered On Saturday Cardiff

トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20091125