背景:html
公司在某電信機房有50臺ubantu的實體機,機器配置的ip是192.168.100.x的ip,內存和cpu都是高端配置。假如哪些端口須要對外映射,就經過機房的防火牆完成端口映射。python
100.1這臺機器,能遠程ssh,並已經作好了5個端口映射。其他的機器均未開通外網端口。linux
需求:web
如今須要10臺centos的機器,來裝一個環境,並對外提供一個web服務。shell
分析:ubuntu
鑑於機房山高路遠,去機房把Ubantu緩存centos的操做系統的計劃不能施行。而後就出現了KVM虛擬機的流程。vim
0.ssh登陸100.1,而後以它作跳板,利用SecureCRT或者Xshell的socks代理,而後ssh鏈接後面的機器(方法請百度,我也很差描述,總之就是很是容易操做)。windows
ssh 192.168.100.2 sudo su - root
1.確認操做系統版本,修改apt-get源爲aliyun,apt-get update.centos
cat /etc/issue #12.04ubantu版本 vim /etc/apt/ deb http://mirrors.aliyun.com/ubuntu/ precise main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ precise-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ precise-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ precise-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ precise-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ precise main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ precise-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ precise-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ precise-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ precise-backports main restricted universe multiverse apt-get update
2.回到scrt的遠程ssh界面.(注意,不要進到跳板100.1裏面去了)
安裝kvm虛擬機緩存
apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe
安裝kvm虛擬機的圖形化界面
apt-get install virt-manager
安裝kvm橋接組件
apt-get install bridge-utils
3.配置kvm橋接.
vi /etc/network/interfaces 修改以下內容 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.100.2 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255 gateway 192.168.100.254 dns-nameservers 8.8.8.8 爲 auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.100.2 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255 gateway 192.168.100.254 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 dns-nameservers 114.114.114.114
再三確認,仔細確認,確認ok,下一步。
4.重啓機器(如果前面沒作好,估計你線上的這臺機器,估計就要和你say good bye了),5分鐘後從新連上去,切換到root用戶.
reboot 漫長的等待 sudo su - root ifconfig,確認: br0網橋,並綁定有ip. eth0,木有ip. lo,綁定127.0.0.1. virbr0,綁定一個192.168.122.1(也有多是其餘網段).
5.下載centos鏡像到本機的/media/.
wget CentOS-6.7-x86_64-bin-DVD1.iso (推薦地址 mirrors.aliyun.com)
6.安裝vnc
apt-get install vnc4server 啓動vnc vncserver 輸入vnc密碼(第一次啓動須要輸入密碼) xxxxxxx xxxxxxx 查看vnc端口. netstat -lntup|grep vnc
7.配置vnc遠程鏈接.
回到跳板機,修改rinnetd文件,完成vnc端口映射,並刷新rinetd進程.(rinetd是linux下一款比較好用的端口映射工具,ubantu下聽說能夠直接apt-get install rinetd完成安裝) 192.168.100.1 已經映射好的端口 192.168.100.2 5901
8.使用vnc的windows客戶端,鏈接Ubantu宿主機192.168.100.2.
選項,調整「顏色、編碼」的「顏色底次」爲「全部可用顏色」
服務器輸入"ip:port",鏈接後輸入密碼便可.
9.vnc從新鏈接(跳過)
vncserver -kill :1 //這裏的:1是桌面號 vncserver netstat -lntup|grep vnc
10.打開kvm的管理界面,開始新裝虛擬機。
virt-manager 等5秒。 安裝虛擬機操做,選擇合適的參數,下一步便可。 (ps經驗:假如鍵盤輸入無效,- -,記得切換回英文輸入法,並敲空格。 ) 65536M 內存 16 核心 3000 G硬盤(下面的勾勾不要) br0 網絡 網卡信息也提早配置下
11.重啓虛擬機以後,刪除網卡綁定信息。
刪除/etc/udev/rules.d/70-persistent-net.rules
12.關機並完成kvm複製。
13.KVM虛擬機的快速複製
ip文件設置 刪除/etc/udev/rules.d/70-persistent-net.rules history -c && history -w 關機 複製關機後的VM鏡像模板文件 cd /var/lib/libvirt/images cp -av 母板.img 新機器.img 複製模板配置文件 cd /etc/libvirt/qemu/ cp -av 母板.xml 新.xml 修改模板配置文件 修改虛擬機的名稱,如:<name> 修改uuid編號 ,如:<uuid>倒數3位 修改mac地址,如:<mac 倒數2位 修改鏡像指定位置 重啓libvirtd服務 service libvirt-bin restart 查看虛擬機 virsh list --all virsh start vir_new virsh list --all
14.上面有一項,網絡橋接,這個操做通常不建議操做,爲了弄這個橋接,我線上的2臺機器失聯了(強烈建議本地機器多測試)。
咱們須要10臺centos,一個實體機能夠作2臺,5個實體機才能知足需求,那麼問題來了,這10個機器進行互聯,咋麼辦? 作法以下,僅供參考: 實體機的網絡配置已在上面配置好橋接,如今來新建一個一個副ip: ifconfig br0:1 192.168.50.1 netmask 255.255.255.0 up (實體機計劃使用50.1-50.5這一網段,咱們只用5個實體機,192.168.100.1只作跳板用,不裝虛擬機) 開啓iptables,ubantu默認iptables都是放行的。 iptables -t nat -L 而後新建一個轉發 iptables -t nat -A POSTROUTING -o br0 -s 192.168.50.0/24 -j MASQUERADE 虛擬機的網絡配置: ip配成192.168.50.101(虛擬機計劃使用50.101-50.110這1網段,10個機器) 網關配成各自對應的實體機對應的副ip(此處爲192.168.50.1) 而後重啓虛擬機的網卡,虛擬機192.168.50.101 192.168.50.1 192.168.100.2能夠互聯,虛擬機能夠上外網。(5個實體機上面的虛擬機都弄好以後,50.1~50.5 50.101~50.110 100.2~100.6 都是能夠隨意互聯的)
參考連接:
http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974461 vnc安裝參考
http://www.cnblogs.com/york-hust/archive/2012/05/29/2523437.html kvm/QEMU橋接網絡
特別鳴謝:
老朋友丁丁的幫助。他對網絡的高深技術,給了我極大的幫助,在我最鬱悶的時候,就像一盞明燈指引了我。嘿嘿。