برای نصب openvz توصیه می کنم از سرور با رم حد اقل 4 گیگابایت استفاده کنید و در مورد cpu هم در حد نیازتون ! در مورد سیستم عامل هم توصیه می کنم در حال حاضر از centos 5.2 نسخه ی 32 بیت یا 64 بیت استفاده کنید . شاید براتون سوال بشه وقتی centos 5.3 هست چرا باید از 5.2 استفاده کنید !؟ دلیل این هست که در حال حاضر openvz روی نسخه ی 5.3 centos یک سری باگ داره که هنوز fix نشده ولی با 5.2 سازگاری کامل داره .
اولین مرحله - نصب OpenVZ yum repository
برای این کار دستورات فوق را اجرا کنید :
کد PHP:
cd /etc/yum.repos.d wget http://download.openvz.org/openvz.repo rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
مرحله دوم - نصب Kernel OpenVZ
برای نصب کرنل دو روش داریم . یکی با استفاده از yum و یکی نصب به صورت دستی که من نصب به صورت دستی توصیه می کنم !
البته انتخاب کرنل بستگی به سرور داره ( RAM و CPU ) , که برای انتخاب از این جدول می تونید استفاده کنید :
کد PHP:
http://wiki.openvz.org/Kernel_flavors
برای گرفتن آخرین نسخه کرنل مورد نیاز هم به این آدرس می تونید مراجعه کنید ( از RHEL5 استفاده کنید ) :
کد PHP:
http://wiki.openvz.org/Download/kernel
من آموزش با نسخه های فعلی کرنل ادامه میدم ( اگر دیدید نسخه جدید تری اومده جای لینک کرنل در مرحله دانلود کرنل با کرنل جدید عوض کنید )
- برای دانلود و نصب کرنل بر روی سرور های با پردازنده 32 بیتی AMD & Intel و رم بالای 4 گیگ از دستورات زیر استفاده کنید :
کد PHP:
wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab062.3/ovzkernel-PAE-2.6.18-128.1.1.el5.028stab062.3.i686.rpm rpm -ihv ovzkernel-PAE-2.6.18-128.1.1.el5.028stab062.3.i686.rpm
- برای دانلود و نصب کرنل بر روی سرور های با پردازنده 64 بیتی AMD & Intel و رم بالای 4 گیگ از دستورات زیر استفاده کنید :
کد PHP:
wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab062.3/ovzkernel-2.6.18-128.1.1.el5.028stab062.3.x86_64.rpm rpm -ihv ovzkernel-2.6.18-128.1.1.el5.028stab062.3.x86_64.rpm
اگر در همگام نصب کرنل با خطایی رو برو شدید نصب ادامه ندید و replay کنید که بگم چه کاری باید انجام بدید !
مرحله سوم - تنظیمات bootloader
- دستور زیر را اجرا کنید و نام اولین سیستم عامل را از Centos به OpenVZ تغییر بدید :
کد PHP:
nano /boot/grub/grub.conf
کد PHP:
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,0) # kernel /boot/vmlinuz-version ro root=/dev/sda1 # initrd /boot/initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title OpenVZ (2.6.18-128.1.1.el5.028stab062.3) root (hd0,0) kernel /boot/vmlinuz-2.6.18-128.1.1.el5.028stab062.3 ro root=LABEL=/ initrd /boot/initrd-2.6.18-128.1.1.el5.028stab062.3.img title CentOS (2.6.18-92.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ initrd /boot/initrd-2.6.18-92.el5.img
مرحله چهارم - تنظیمات sysctl
- دستور فوق را برای ویرایش فایل sysctl اجرا کنید :
کد PHP:
nano /etc/sysctl.conf
- در فایل جست و جو کنید و طبق مقادیر زیر فایل را تنظیم کنید , اگر احیانا هر کدام از مقادیر زیر درون فایل sysctl شما وجود نداشت آن را در آخر فایل اضافه کنید :
کد PHP:
# On Hardware Node we generally need # packet forwarding enabled and ***** arp disabled net.ipv4.ip_forward = 1 net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.default.*****_arp = 0 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # We do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0
مرحله پنجم - تنظیمات SELinux
- دستور فوق را اجرا کنید و مقدار SELINUX را به disabled تغییر دهید :
کد PHP:
nano /etc/sysconfig/selinux
کد PHP:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
مرحله ششم - تنظیمات Conntracks
- دستور فوق را برای ویرایش فایل modprobe وارد کنید :
کد PHP:
nano /etc/modprobe.conf
- خط فوق را به انتهای فایل اضافه کنید :
کد PHP:
options ip_conntrack ip_conntrack_enable_ve0=1
دستور راه اندازی مجدد را وارد کنید تا سرور بر روی کرنل OpenVZ بوت شود :
مرحله هفتم - نصب utilities
- اگر از سرور با پردازنده 32 بیتی استفاده می کنید فقط دستور فوق را اجرا کنید :
کد PHP:
yum install vzctl vzquota vzpkg vzyum
- اگر از سرور با پردازنده 64 بیتی استفاده می کنید دستورات فوق را اجرا کنید :
کد PHP:
yum install vzctl.x86_64 vzquota.x86_64 wget http://linux.carreira.com.pt/ovzutils/setx86_64-0.5.tar.gz tar xzvf setx86_64-0.5.tar.gz sh setx86_64
- ( فقط 64 بیتی ) دستور زیر را برای ویرایش فایل اجرا کنید :
کد PHP:
nano /vz/template/centos/4/x86_64/config/.rpmmacros
و محتویات آن را به صورت زیر تغییر دهید :
کد PHP:
%_install_langs C:pt_PT:pt_PT.UTF-8:en_US:en_US.UTF-8
- ( فقط 64 بیتی ) دستور فوق را برای ویرایش فایل اجرا کنید :
کد PHP:
nano /etc/auto.master
و خط فوق را به انتهای فایل اضافه کنید :
کد PHP:
/vz/root/{vpsid}/var/cache/yum-cache /etc/auto.vzyum
- ( فقط 64 بیتی ) دستور زیر را اجرا کنید :
کد PHP:
nano /etc/auto.vzyum
و خط فوق را در آن ذخیره کنید :
کد PHP:
* -bind,ro,nosuid,nodev :/var/cache/yum-cache/&
خوب نصب Openvz به پایان رسید ! نوبت به استارت openvz میرسه . با دستور فوق Openvz را اجرا کنید :
کد PHP:
/sbin/service vz start
اگر مراحل به درستی انجام داده باشید OpenVZ به درستی اجرا میشه ! اگر خطایی داد replay کنید بگم مشکل از کجاست !