您好,登錄后才能下訂單哦!
這篇文章主要介紹“CentOS系統(tǒng)上OpenVZ虛擬機的安裝和基本用法”,在日常操作中,相信很多人在CentOS系統(tǒng)上OpenVZ虛擬機的安裝和基本用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS系統(tǒng)上OpenVZ虛擬機的安裝和基本用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
OpenVZ是開源軟件,是基于Linux平臺的操作系統(tǒng)級服務器虛擬化解決方案。OpenVZ采用SWsoft的Virutozzo虛擬化服務器軟件產(chǎn)品的內核,Virutozzo是SWsoft公司提供的商業(yè)虛擬化解決方案。
OpenVZ可以在單個物理服務器上創(chuàng)建多個隔離的虛擬專用服務器(VPS)并以最大效率共享硬件和管理資源。每個VPS的運行和獨立服務器完全一致,因其自身的用戶、應用程序都可以獨立重啟,它擁有根訪問權限、用戶、IP地址、內存、處理器、文件、應用服務、系統(tǒng)庫文件和配置文件等。擁有輕量級處理損耗和高效設計的OpenVZ是運行應用服務和實時數(shù)據(jù)生產(chǎn)型服務器虛擬化的最佳選擇。
OpenVZ軟件同時為用戶提供工具,協(xié)助自動化管理虛擬服務器。基于模板的應用程序部署可以在幾分鐘內用簡單的方法創(chuàng)建新的虛擬服務器并投入使用,而且與其他的虛擬化技術相比,OpenVZ可以在每CPU上運行幾倍于其他虛擬化服務器技術的虛擬化服務器。
OpenVZ是基于Linux內核和作業(yè)系統(tǒng)的操作系統(tǒng)級虛擬化技術。OpenVZ允許物理服務器運行多個操作系統(tǒng),被稱虛擬專用服務器(VPS,Virtual Private Server)或虛擬環(huán)境(VE, Virtual Environment)。
與硬件虛擬化的VMware和半虛擬化的Xen相比,OpenVZ的host OS和guest OS都必需是Linux(雖然在不同的虛擬環(huán)境里可以用不同的Linux發(fā)行版)。但是,OpenVZ聲稱這樣做有性能上的優(yōu)勢。根據(jù)OpenVZ網(wǎng)站的說法,使用OpenVZ與使用獨立的服務器相比,性能只會有1-3%的損失。
安裝OpenVZ
要完成OpenVZ的安裝工作,我們需要先把OpenVZ庫添加到y(tǒng)um當中:
代碼如下:
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ
現(xiàn)在打開openvz.repo文件:
代碼如下:
vi openvz.repo
接下來禁用[openvz-kernel-rhel5]庫(enabled=0)并啟用[openvz-kernel-rhel6]庫作為替代(enabled=1):
代碼如下:
[...]
[openvz-kernel-rhel6]
name=OpenVZ RHEL6-based kernel
#baseurl=http://download.openvz.org/kernel/branches/rhel6-2.6.32/current/
mirrorlist=http://download.openvz.org/kernel/mirrors-rhel6-2.6.32
enabled=1
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
[openvz-kernel-rhel5]
name=OpenVZ RHEL5-based kernel
#baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/
mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18
enabled=0
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
[...]
這套庫中包含多種OpenVZ內核(欲了解不同內核的具體情況,請訪問http://wiki.openvz.org/Kernel_flavors進行查看)。以下命令:
代碼如下:
yum search vzkernel
將在屏幕上列出所有可用內核:
代碼如下:
[root@server1 yum.repos.d]# yum search vzkernel
[...]
vzkernel.i686 : The Linux kernel
vzkernel.x86_64 : The Linux kernel
vzkernel-devel.i686 : Development package for building kernel modules to match the kernel
vzkernel-devel.x86_64 : Development package for building kernel modules to match the kernel
vzkernel-firmware.noarch : Firmware files used by the Linux kernel
vzkernel-headers.i686 : Header files for the Linux kernel for use by glibc
vzkernel-headers.x86_64 : Header files for the Linux kernel for use by glibc
[...]
[root@server1 yum.repos.d]#
選擇其中之一,并按如下命令進行安裝:
代碼如下:
yum install vzkernel
這一操作應該也會自動更新GRUB引導程序。無論如何,我們現(xiàn)在要打開/boot/grub/menu.lst;現(xiàn)在首個內核中應該已經(jīng)包含有新的OpenVZ內核了。務必確保default值為0,這樣首個內核(也就是OpenVZ內核)才會被自動引導并替換掉默認的CentOS內核。
代碼如下:
vi /boot/grub/menu.lst
# grub.conf generated by anaconda
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.32-042stab057.1)
root (hd0,0)
kernel /vmlinuz-2.6.32-042stab057.1 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=de rd_LVM_LV=vg_server1/lv_swap rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-042stab057.1.img
title CentOS (2.6.32-279.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=de rd_LVM_LV=vg_server1/lv_swap rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img
現(xiàn)在我們需要安裝幾款OpenVZ用戶工具:
代碼如下:
yum install vzctl vzquota
打開/etc/sysctl.conf并確保文件中包含以下設定:
代碼如下:
vi /etc/sysctl.conf
[...]
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
[...]
如果大家需要對/etc/sysctl.conf進行修改,請在上述命令后添加以下內容:
代碼如下:
sysctl -p
如果大家的虛擬機IP地址來自不同子網(wǎng)而非直接采用主機系統(tǒng)的IP地址,那么接下來的步驟非常關鍵。如果忽略這一步,網(wǎng)絡將無法在虛擬機上正常工作。
打開/etc/vz/vz.conf 并將NEIGHBOUR_DEVS 設置為 all:
代碼如下:
vi /etc/vz/vz.conf
[...]
NEIGHBOUR_DEVS=all
[...]
如果大家想讓OpenVZ正常工作,那么SELinux必須被禁用。打開/etc/sysconfig/selinux 并將SELINUX 的值設為disabled:
代碼如下:
vi /etc/sysconfig/selinux
# 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 - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
最后,重新啟動系統(tǒng):
代碼如下:
reboot
如果大家的系統(tǒng)順利完成了重啟,那么恭喜--安裝工作成功結束!
運行:
代碼如下:
uname -r
這時我們的新OpenVZ內核應該顯示以下內容:
代碼如下:
[root@server1 ~]# uname -r
2.6.32-042stab057.1
代碼如下:
[root@server1 ~]#
在利用OpenVZ創(chuàng)建虛擬機之前,我們需要在/vz/template/cache目錄下為所要用到的發(fā)行版添加一套模板,這套模板將負責虛擬機的生成工作。大家可以在以下地址中找到預創(chuàng)建模板清單:http://wiki.openvz.org/Download/template/precreated)。
我打算在自己的虛擬機中使用CentOS 6,所以我需要下載CentOS 6模板:
代碼如下:
cd /vz/template/cache
wget http://download.openvz.org/template/precreated/centos-6-x86_64.tar.gz
現(xiàn)在我要向大家展示使用OpenVZ所涉及的基本命令。
要通過CentOS 6模板建立一套VPS,需要運行:
代碼如下:
vzctl create 101 --ostemplate centos-6-x86_64 --config basic
這里的101必須是單獨ID--每套虛擬機都需要擁有專屬的獨立ID。大家可以利用虛擬機IP地址的最后三位數(shù)字來為其命名。舉例來說,如果虛擬機IP地址為192.168.0.101,那么其ID為101即可。
如果大家希望在系統(tǒng)啟動時自動運行虛擬機,則執(zhí)行以下命令:
代碼如下:
vzctl set 101 --onboot yes --save
要為虛擬機設定主機名稱與IP地址,則運行以下命令:
代碼如下:
vzctl set 101 --hostname test.example.com --save
vzctl set 101 --ipadd 192.168.0.101 --save
接下來我們將套接口數(shù)量設置為120,并為虛擬機指派數(shù)個域名服務器:
代碼如下:
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --nameserver 145.253.2.75 --save
(請注意,這里我們也可以使用vzctl set命令或者直接對/etc/vz/conf目錄下的虛擬機配置文件進行編輯。如果虛擬機ID為 101, 那么配置文件的路徑應為/etc/vz/conf/101.conf。)
運行以下命令來啟動虛擬機:
代碼如下:
vzctl start 101
執(zhí)行以下命令為虛擬機設定root密碼:
代碼如下:
vzctl exec 101 passwd
大家現(xiàn)在已經(jīng)可以通過SSH(例如PuTTY)或者手動輸入以下命令的方式與虛擬機連通:
代碼如下:
vzctl enter 101
是退出虛擬機控制臺,可直接輸入:
代碼如下:
exit
停止虛擬機運行,運行:
代碼如下:
vzctl stop 101
重啟虛擬機則運行:
代碼如下:
vzctl restart 101
如果需要從磁盤中刪除虛擬機(前提是我們已經(jīng)停止了該虛擬機的運行),執(zhí)行以下命令:
代碼如下:
vzctl destroy 101
要列出當前虛擬機清單及其運行狀態(tài),需運行:
代碼如下:
vzlist -a
[root@server1 cache]# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
101 14 running 192.168.0.101 test.example.com
[root@server1 cache]#
要查看被指派給對應虛擬機的資源,需運行:
代碼如下:
vzctl exec 101 cat /proc/user_beancounters
[root@server1 cache]# vzctl exec 101 cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 1508202 1661695 11055923 11377049 0
lockedpages 0 0 256 256 0
privvmpages 5430 7102 65536 69632 0
shmpages 381 381 21504 21504 0
dummy 0 0 0 0 0
numproc 19 21 240 240 0
physpages 2489 2775 0 2147483647 0
vmguarpages 0 0 33792 2147483647 0
oomguarpages 2489 2775 26112 2147483647 0
numtcpsock 5 5 360 360 0
numflock 3 4 188 206 0
numpty 0 1 16 16 0
numsiginfo 0 2 256 256 0
tcpsndbuf 44720 0 1720320 2703360 0
tcprcvbuf 81920 0 1720320 2703360 0
othersockbuf 13144 14356 1126080 2097152 0
dgramrcvbuf 0 8380 262144 262144 0
numothersock 11 13 120 120 0
dcachesize 0 0 3409920 3624960 0
numfile 503 531 9312 9312 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 128 128 0
[root@server1 cache]#
failcnt這一列的信息非常重要,正常來說所有數(shù)值都應該為0;如果出現(xiàn)非0數(shù)字,則代表當前虛擬機所擁有的資源不足、我們需要為其分配更多資源。打開/etc/vz/conf目錄下的虛擬機配置文件,提高對應資源數(shù)量,最后重新啟動虛擬機。
如果大家還需要進行其它操作,可以運行下列命令以查看vzctl的所有操作指令:
代碼如下:
man vzctl
到此,關于“CentOS系統(tǒng)上OpenVZ虛擬機的安裝和基本用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。