در این مقاله به بررسی نصب XEN یکی دیگر از متد های مجازی سازی (virtualization) می پردازیم.
توجه: برای آموزش نصب سیستم عامل centos به اینجا مراجعه کنید.
برای این منظور ابتدا باید به نصب repository های xen بر روی سیستم خود بپردازیم. برای نصب دستور زیر را وارد میکنیم
yum -y install centos-release-xen
بعد از اتمام اجرای این دستور repository های xen بر روی سیستم شما نصب شده است است و شما باید آن را فعال کنید. برای فعال شدن این repository ها دستوز زیر را اجرا میکنیم .
sed -i -e “s/enabled=1/enabled=0/g” /etc/yum.repos.d/CentOS-Xen.repo
بعد از فعال شدن repository باید هسته یا kernel سیستم عامل را برای ساپورت xen آپدیت کنیم. برای این منظور دستور زیر را وارد میکنیم.
yum –enablerepo=centos-virt-xen -y update kernel
بعد از انجام کارهای بالا نوبت به نصب خود xen میرسید. برای نصب خود xen دستور زیر را وارد میکنیم
yum –enablerepo=centos-virt-xen -y install xen
بعد از اینکه نصب xen تمام شد باید فایل های grub مدیر بوت لینوکس را ویرایش کنیم تا domain0 را با میزان حافظه لازم بالا بیاورد. برای این منظور بصورت زیر عمل میکنیم
vi /etc/default/grub
GRUB_CMDLINE_XEN_DEFAULT=”dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1 …..
بعد از انجام کارهای بالا دستور زیر را اجرا میکنیم تا grub بروز شود و سپس سیستم را reboot میکنیم
/bin/grub-bootxen.sh
reboot
نکته: domain0 در وافع همان ماسین میزبان یا host ما در xen میباشد.
بعد از بالا آمدن سیستم با استفاده از دستور زیر از xenمان اطلاعات میگیریم
xl info
اگر خروجی مانند زیر دیدیم کارهایی که انجام داده ایم درست بوده است
host : xen.nowlearn.ir
release : 3.18.21-17.el7.x86_64
version : #1 SMP Fri Dec 18 18:04:14 UTC 2015
machine : x86_64
nr_cpus : 6
max_cpu_id : 5
nr_nodes : 1
cores_per_socket : 1
threads_per_core : 1
cpu_mhz : 2594
hw_caps : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
virt_caps : hvm
total_memory : 12287
free_memory : 8054
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 6
xen_extra : .0-9.el7
xen_version : 4.6.0-9.el7
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset : Thu Jan 14 15:35:35 2016 +0000 git:6e8597a-dirty
xen_commandline : placeholder dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1
console=com1,tty loglvl=all guest_loglvl=all
cc_compiler : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
cc_compile_by : mockbuild
cc_compile_domain : centos.org
cc_compile_date : Wed Jan 20 12:25:53 UTC 2016
xend_config_format : 4
بعد از اطمینان از صحت عملکرد xen نوبت به تنظیمات شبکه برای آن می رسد که مانند تنظیمات شبکه KVM بصورت زیر انجام میدهیم.
ابتدا یک اینترفیس به نام br0 با دستور زیر ایجاد میکنیم
nmcli c add type bridge autoconnect yes con-name br0 ifname br0
برای اینترفیس br0 یک IP ست میکنیم
nmcli c modify br0 ipv4.addresses 10.0.0.30/24 ipv4.method manual
nmcli c modify br0 ipv4.gateway 10.0.0.1
سپس برای br0 یک DNS تعریف میکنیم
nmcli c modify br0 ipv4.dns 10.0.0.1
بعد از انجام کارهای بالا نوبت به پاک کردن تنظیمات مربوط به اینترفیس فیزیکی سیستم و سپس عضو bridge کردن آن میرسد که بصورت زیر انجام میدهیم
nmcli c delete eno16777736
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
۲: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP>
mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff
۳: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.30/24 brd 10.0.0.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe9f:9bd3/64 scope link
valid_lft forever preferred_lft forever