vmware centos6.6 64位 kvm虚拟化安装配置
做这个实验,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启。
1. vmware安装centos6.6 64位 (略)
其中有几个注意的地方:
a. 内存给4g,(因为我自己的是8G内存),CPU---4g
b. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件
c. 最关键的一步,在创建虚拟机时,cpu是需要配置一下虚拟化的如图
d.网卡设置为桥接,或者nat
2. 安装kvm前的准备工作
a. 清除iptables规则
service iptables stop; service iptables save
b. 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
2.1
dhclient
3. 开始安装kvm
a. 检查你的系统是否支持虚拟化
grep -Ei 'vmx|svm' /proc/cpuinfo --color
如果有输出内容,则支持,其中intel cpu支持会有vmx,amd cpu支持会有svm
#cat /proc/cpuinfo 查看几盒,processor是从0开始的,最下面显示3则为4核
processor : 3
b. 通过yum安装虚拟化的软件包
yum install -y kvm virt-* libvirts bridge-utils qemu-img
如果此处不能下载,换成阿里云的源
备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache生成缓存
说明:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
bridge-utils:设置网络网卡桥接。
virt-*:创建、克隆虚拟机命令,以及图形化管理工具virt-manager
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
c. 检查kvm模块是否加载
lsmod |grep kvm --color
正常应该是:
kvm_intel 55496 3
kvm 337772 1 kvm_intel
如果没有,需要执行
modprobe kvm-intel
还没有就重启一下试试
d. 配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
分别编辑eth0和br0
ifcfg-eth0改成如下:
DEVICE=eth0
HWADDR=00:0C:29:55:A7:0A
TYPE=Ethernet
UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
ifcfg-br0改成如下:
DEVICE=br0
#HWADDR=00:0C:29:55:A7:0A
TYPE=Bridge
#UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.7
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
#如果vm为桥接模式,此处gateway为和ip一样,
DNS1=202.106.0.20
说明: 我的虚拟机是桥接模式,所以设置br0的ip和我的真机同样的网段,包括网关也是我路由器的ip,大家可以根据自己的环境去配置,目的是为了让虚拟机可以上网。
/etc/init.d/network restart
查看网卡如下:
br0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet addr:192.168.11.17 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141326 errors:0 dropped:0 overruns:0 frame:0
TX packets:90931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:456024940 (434.8 MiB) TX bytes:10933593 (10.4 MiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:341978 errors:0 dropped:0 overruns:0 frame:0
TX packets:90946 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:468848861 (447.1 MiB) TX bytes:10934699 (10.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:14:EF:D5
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
如果不出现virbr0则重启,
e. 启动或重启libvirtd服务和messagebus 服务
# /etc/init.d/libvirtd start
启动 libvirtd 守护进程:
# /etc/init.d/messagebus restart
终止系统消息总线: [确定]
启动系统消息总线: [确定]
此时可以查看网络接口列表,即查看网桥
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c2955a70a no eth0
virbr0 8000.52540014efd5 yes virbr0-nic
4. 创建虚拟机,
然后就可以在上面创建系统了,这个创建虚拟机和创建Linux系统是在一起的
每个虚拟机必须分配一定量的磁盘空间
因为是虚拟机,我们之前添加了一块50G的硬盘,现在挂载,格式化,分区,
#fdisk /dev/sdb
n p
相当于给他划分了一个分区,给他全部空间
格式化
# mkfs.ext4 /dev/sdb1
# mkdir /data/
# mount /dev/sdb1 /data/
把他写入分区表
#vim /etc/fstab/
/dev/sdb1 /data ext4 defaults 0 0
然后创建一个专门存放kvm的这样一个目录
#mkdir /data/kvm
mkdir /data/kvm/ //创建一个存储虚拟机虚拟磁盘的目录,该目录所在分区必须足够大
virt-install \
--name aming1 \
--ram 512 \
--disk path=/data/kvm/aming1.img,size=30 \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.163.com/centos/6.7/os/i386/' \
--extra-args 'console=ttyS0,115200n8 serial'
[size=1.267]说明:
首先注意上面安装网址('http://mirrors.163.com/centos/6.7/os/i386)的时效性,可以
--extra-args 设定内核参数
--name 指定虚拟机的名字
--ram 指定内存分配多少
--disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创建qcow2格式的虚拟磁盘。 参考 http://www.361way.com/kvm-qcow2-preallocation-metadata/3354.html 示例:qemu-img create -f qcow2 -o preallocation=metadata /data/test02.img 7G; --disk path=/data/test02.img,format=qcow2,size=7,bus=virtio
--vcpus 指定分配cpu几个
--os-type 指定系统类型为linux
--os-variant 指定系统版本
--network 指定网络类型
--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
--console 指定控制台类型
--location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,
[size=1.333]如果我们是使用网络地址安装,改为--location 'http://mirrors.163.com/centos/6.7/os/i386/' \,回车后会提示安装
Welcome to CentOS for i386
┌────────┤ Choose a Language ├────────┐
│ │
│ What language would you like to use │
│ during the installation process? │
│ │
│ Catalan ↑ │
│ Chinese(Simplified) ‥ │
│ Chinese(Traditional) ‥ │
│ Croatian ‥ │
│ Czech ‥ │
│ Danish ‥ │
│ Dutch ‥ │
│ English ↓ │
│ ┌────┐ │
│ │ OK │ │
│ └────┘ │
└─────────────────────────────────────┘
/ between elements | selects | next screen
选择English,回车
Welcome to CentOS for i386
┌────────────┤ Configure TCP/IP ├────────────┐
│ │
│ Enable IPv4 support │
│ ( ) Dynamic IP configuration (DHCP) │
│ ( *) Manual configuration │
│ │
│ Enable IPv6 support │
│ (*) Automatic │
│ ( ) Automatic, DHCP only │
│ ( ) Manual configuration │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────┘
/ between elements | selects | next screen
选择网络先关选项,选择 Manual configuration , Automatic 回车
Welcome to CentOS for i386
┌────────────────┤ Manual TCP/IP Configuration ├─────────────────┐
│ │
│ Enter the IPv4 and/or the IPv6 address and prefix (address / │
│ prefix). For IPv4, the dotted-quad netmask or the CIDR-style │
│ prefix are acceptable. The gateway and name server fields must │
│ be valid IPv4 or IPv6 addresses. │
│ │
│ IPv4 address: 192.168.17.137__ / 255.255.255.0___ │
│ Gateway: 192.168.17.2_____________________________ │
│ Name Server: 8.8.8.8__________________________________ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
配置网络,ip可以随便设置一个,Gateway:设置为 17.2
Welcome to CentOS for i386
┌────────────────────────────────┤ Warning ├─────────────────────────────────┐
│ Error processing drive: ↑ │
│ ‥ │
│ pci-0000:00:05.0-virtio-pci-virtio1 ‥ │
│ 30720MB ‥ │
│ Virtio Block Device ‥ │
│ This device may need to be reinitialized. ‥ │
│ ‥ │
│ REINITIALIZING WILL CAUSE ALL DATA TO BE LOST! ‥ │
│ ‥ │
│ This action may also be applied to all other disks ‥ │
│ needing reinitialization. ↓ │
│ │
│ ┌────────┐ ┌────────────┐ ┌───────────────┐ ┌───────────────────┐ │
│ │ Ignore │ │ Ignore all │ │ Re-initialize │ │ Re-initialize all │ │
│ └────────┘ └────────────┘ └───────────────┘ └───────────────────┘ │ │ │└────────────────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
选择第四个 Re-initialize all
Welcome to CentOS for i386
┌───────┤ Time Zone Selection ├───────┐
│ │
│ In which time zone are you located? │
│ │
│ System clock uses UTC │
│ │
│ America/Monterrey ↑ │
│ America/Montevideo ‥ │
│ America/Montserrat ‥ │
│ America/Nassau ‥ │
│ America/New York ↓ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└─────────────────────────────────────┘
/ between elements | selects | next screen
选择时区接下来输入密码,回车
Welcome to CentOS for i386
┌─────────────────────┤ Partitioning Type ├─────────────────────┐
│ │
│ Installation requires partitioning of your hard drive. The │
│ default layout is suitable for most users. Select what space │
│ to use and which drives to use as the install target. │
│ │
│ Use entire drive │
│ Replace existing Linux system │
│ Use free space │
│ │
│ Which drive(s) do you want to use for this installation? │
│ vda 30720 MB (Virtio Block Device) ↑ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└───────────────────────────────────────────────────────────────┘
,<+>,<-> selection | Add drive | next screen
直接OK回车,因为centos6没有在字符界面下分区的命令,所以整个一块磁盘,如果要自定义分区,则要启用vnc
Welcome to CentOS for i386
┌─────────────┤ Writing storage configuration to disk ├──────────────┐
│ The partitioning options you have selected will now be written to │
│ disk. Any data on deleted or reformatted partitions will be lost. │
│ │
│ ┌─────────┐ ┌───────────────────────┐ │
│ │ Go back │ │ Write changes to disk │ │
│ └─────────┘ └───────────────────────┘ │
└────────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
点击Write changes to disk 回车,会自动安装,
Welcome to CentOS for i386
────────────────────┤ Package Installation ├──────────────────────┐
│ 94% │
│ Packages completed: 203 of 225 │
│ │
│ Installing selinux-policy-targeted-3.7.19-279.el6.noarch (3 MB) │
│ SELinux targeted base policy │
└───────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
现在重启
Welcome to CentOS for i386
───────────────────────┤ Complete ├────────────────────────────┐
│ Congratulations, your CentOS installation is complete. │
│ Please reboot to use the installed system. Note that updates may │
│ be available to ensure the proper functioning of your system and │
│ installation of these updates is recommended after the reboot. │
│ ┌────────┐ │
│ │ Reboot │ │
│ └────────┘ │
└───────────────────────────────────────────────────────────────────┘
to exit
[size=1.333]如果我们是使用本地资源安装,有两种方法,一种是下载ISO,一种是挂载为本地的的一个目录
(--location '/mnt/', 其中/mnt/下就是我们挂载的光盘镜像mount /dev/cdrom /mnt)如果是绝对路径,那么后面还需要指定一个安装介质,比如NFS,假如虚拟机设置ip后,不能连外网,那么就会提示让我们选择安装途径:[size=1.333]
使用NFS安装
# mount /dev/cdrom /mnt/
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 11G 1.4G 8.7G 14% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 31M 149M 18% /boot
/dev/sdb1 50G 1.9G 45G 4% /data
/dev/sr0 3.7G 3.7G 0 100% /mnt
# ls /mnt
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
现在安装
#qemu-img create -f qcow2 -o preallocation=metadata /data/kvm/aming1.qcow1 10G
然后
virt-install \
--name aming1 \
--ram 512 \
--disk path=/data/kvm/aming1.qcow1 ,
format=qcow2,
size=7,
bus=virtio \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location '/mnt/' \
--extra-args 'console=ttyS0,115200n8 serial'
也即
virt-install --name aming1 --ram 512 --disk path=/data/kvm/aming1.qcow2,format=qcow2,size=7,bus=virtio --vcpus 1 --os-type linux --os-variant rhel6 --network bridge=br0 --graphics none --console pty,target_type=serial --location '/mnt/' --extra-args 'console=ttyS0,115200n8 serial'
进入安装
┤ Choose a Language ├────────┐
│ │
│ What language would you like to use │
│ during the installation process? │
│ │
│ Catalan ↑ │
│ Chinese(Simplified) ‥ │
│ Chinese(Traditional) ‥ │
│ Croatian ‥ │
│ Czech ‥ │
│ Danish ‥ │
│ Dutch ‥ │
│ English ↓ │
│ │
│ ┌────┐ │
│ │ OK │ │
│ └────┘ │
└─────────────────────────────────────┘
选择NFS directory
──┤ Installation Method ├───┐
│ │
│ What type of media contains │
│ the installation image? │
│ │
│ Local CD/DVD │
│ Hard drive │
│ NFS directory │
│ URL │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└─────────────────────────────┘
配置ip
┌────────────┤ Configure TCP/IP ├────────────┐
│ │
│ Enable IPv4 support │
│ ( ) Dynamic IP configuration (DHCP) │
│ (*) Manual configuration │
│ │
│ Enable IPv6 support │
│ (*) Automatic │
│ ( ) Automatic, DHCP only │
│ ( ) Manual configuration │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
│ │
│ │
└────────────────────────────────────────────┘
┌────────────────┤ Manual TCP/IP Configuration ├─────────────────┐
│ │
│ Enter the IPv4 and/or the IPv6 address and prefix (address / │
│ prefix). For IPv4, the dotted-quad netmask or the CIDR-style │
│ prefix are acceptable. The gateway and name server fields must │
│ be valid IPv4 or IPv6 addresses. │
│ │
│ IPv4 address: 192.168.17.139__ / 255.255.255.0___ │
│ Gateway: 192.168.17.2_____________________________ │
│ Name Server: 202.106.0.20_____________________________ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
│ │
│ │
└────────────────────────────────────────────────────────────────┘
打开新的session配置NFS,把/mnt共享出去
# vi /etc/exports
/mnt 192.168.17.0/24
#/etc/init.d/rpcbind start; /etc/init.d/nfs start
继续配置,在原来的session中,配置,NFS server name: 填写母机的ip即可
┌───────────────────────────┤ NFS Setup ├────────────────────────────┐
│ │
│ Please enter the server and NFSv3 path to your CentOS installation │
│ image and optionally additional NFS mount options. │
│ │
│ NFS server name: 192.168.17.128__________ │
│ CentOS directory: /mnt/images/install.img_ │
│ NFS mount options (optional): ro______________________ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────────────────────────────┘
当按下回车后,稍等几秒钟就可以看到安装提示了,和前面的网络的安装方法是一样的,
开始安装......
搜索文件 .treeinfo...... | 720 B 00:00 ...
搜索文件 vmlinuz...... | 7.7 MB 00:02 ...
搜索文件 initrd.img...... | 63 MB 00:23 ...
创建存储文件 centos6.6_1.img | 30 GB 00:00
创建域...... | 0 B 00:00
连接到域 centos6.6_1
Escape character is ^]
要想退回到宿主机,ctrl ] 即可。
上面两种方法均可安装子机
现在登录
CentOS release 6.7 (Final)
Kernel 2.6.32-573.el6.i686 on an i686
localhost.localdomain login: root
Password:
查看内存及磁盘容量是否合适
# free -m
total used free shared buffers cached
Mem: 498 92 405 0 5 37
-/+ buffers/cache: 49 448
Swap: 1023 0 1023
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
28G 631M 26G 3% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/vda1 477M 31M 421M 7% /boot
要想退回到宿主机(母机),ctrl ] 即可。
怎样登录子机
#virsh list 可以列出当前的子机列表。
#virsh list --all 列出所有的子机列表
#virsh console aming1 可以进入指定的子机,是在没有网络的情况下
如果在关机的时候登录则,
#virsh start aming1 --console
[size=1.267]怎样删除子机
#virsh list 可以列出当前的子机列表。
#virsh list --all 列出所有的子机列表
假如想彻底删除aming2
# virsh destroy aming2
易错误处destroy容易写成destory
在list列表中删除aming2
#virsh undefine aming2
[size=1.267]子机的关机
# virsh shutdown aming1
关闭子机,但是这样不彻底,因为它用到了一个服务,acpid,
母机通过这个服务可以控制子机的电源,
在子机安装
# yum install -y acpid
#然后启动它
#/etc/init.d/acpid start
[size=1.267]设置子机随母机自动开启:
# virsh autostart aming1
域 aming1标记为自动开始
设置在开启母机的时候取消自动开启子机:
# virsh autostart --disable aming1
域 aming1标记为自动开始
[size=1.267]挂起子机
#virsh suspend aming1
域 aming1 被挂起
# virsh resume aming1
域 aming1 被重新恢复
做这个实验,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启。
1. vmware安装centos6.6 64位 (略)
其中有几个注意的地方:
a. 内存给4g,(因为我自己的是8G内存),CPU---4g
b. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件
c. 最关键的一步,在创建虚拟机时,cpu是需要配置一下虚拟化的如图
d.网卡设置为桥接,或者nat
2. 安装kvm前的准备工作
a. 清除iptables规则
service iptables stop; service iptables save
b. 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
2.1
dhclient
3. 开始安装kvm
a. 检查你的系统是否支持虚拟化
grep -Ei 'vmx|svm' /proc/cpuinfo --color
如果有输出内容,则支持,其中intel cpu支持会有vmx,amd cpu支持会有svm
#cat /proc/cpuinfo 查看几盒,processor是从0开始的,最下面显示3则为4核
processor : 3
b. 通过yum安装虚拟化的软件包
yum install -y kvm virt-* libvirts bridge-utils qemu-img
如果此处不能下载,换成阿里云的源
备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache生成缓存
说明:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
bridge-utils:设置网络网卡桥接。
virt-*:创建、克隆虚拟机命令,以及图形化管理工具virt-manager
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
c. 检查kvm模块是否加载
lsmod |grep kvm --color
正常应该是:
kvm_intel 55496 3
kvm 337772 1 kvm_intel
如果没有,需要执行
modprobe kvm-intel
还没有就重启一下试试
d. 配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
分别编辑eth0和br0
ifcfg-eth0改成如下:
DEVICE=eth0
HWADDR=00:0C:29:55:A7:0A
TYPE=Ethernet
UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
ifcfg-br0改成如下:
DEVICE=br0
#HWADDR=00:0C:29:55:A7:0A
TYPE=Bridge
#UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.7
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
#如果vm为桥接模式,此处gateway为和ip一样,
DNS1=202.106.0.20
说明: 我的虚拟机是桥接模式,所以设置br0的ip和我的真机同样的网段,包括网关也是我路由器的ip,大家可以根据自己的环境去配置,目的是为了让虚拟机可以上网。
/etc/init.d/network restart
查看网卡如下:
br0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet addr:192.168.11.17 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141326 errors:0 dropped:0 overruns:0 frame:0
TX packets:90931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:456024940 (434.8 MiB) TX bytes:10933593 (10.4 MiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:341978 errors:0 dropped:0 overruns:0 frame:0
TX packets:90946 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:468848861 (447.1 MiB) TX bytes:10934699 (10.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:14:EF:D5
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
如果不出现virbr0则重启,
e. 启动或重启libvirtd服务和messagebus 服务
# /etc/init.d/libvirtd start
启动 libvirtd 守护进程:
# /etc/init.d/messagebus restart
终止系统消息总线: [确定]
启动系统消息总线: [确定]
此时可以查看网络接口列表,即查看网桥
#brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c2955a70a no eth0
virbr0 8000.52540014efd5 yes virbr0-nic
4. 创建虚拟机,
然后就可以在上面创建系统了,这个创建虚拟机和创建Linux系统是在一起的
每个虚拟机必须分配一定量的磁盘空间
因为是虚拟机,我们之前添加了一块50G的硬盘,现在挂载,格式化,分区,
#fdisk /dev/sdb
n p
相当于给他划分了一个分区,给他全部空间
格式化
# mkfs.ext4 /dev/sdb1
# mkdir /data/
# mount /dev/sdb1 /data/
把他写入分区表
#vim /etc/fstab/
/dev/sdb1 /data ext4 defaults 0 0
然后创建一个专门存放kvm的这样一个目录
#mkdir /data/kvm
mkdir /data/kvm/ //创建一个存储虚拟机虚拟磁盘的目录,该目录所在分区必须足够大
virt-install \
--name aming1 \
--ram 512 \
--disk path=/data/kvm/aming1.img,size=30 \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://mirrors.163.com/centos/6.7/os/i386/' \
--extra-args 'console=ttyS0,115200n8 serial'
[size=1.267]说明:
首先注意上面安装网址('http://mirrors.163.com/centos/6.7/os/i386)的时效性,可以
--extra-args 设定内核参数
--name 指定虚拟机的名字
--ram 指定内存分配多少
--disk path 指定虚拟磁盘放到哪里,size=30 指定磁盘大小为30G,这样磁盘文件格式为raw,raw格式不能做快照,后面有说明,需要转换为qcow2格式,如果要使用qcow2格式的虚拟磁盘,需要事先创建qcow2格式的虚拟磁盘。 参考 http://www.361way.com/kvm-qcow2-preallocation-metadata/3354.html 示例:qemu-img create -f qcow2 -o preallocation=metadata /data/test02.img 7G; --disk path=/data/test02.img,format=qcow2,size=7,bus=virtio
--vcpus 指定分配cpu几个
--os-type 指定系统类型为linux
--os-variant 指定系统版本
--network 指定网络类型
--graphics 指定安装通过哪种类型,可以是vnc,也可以没有图形,在这里我们没有使用图形直接使用文本方式
--console 指定控制台类型
--location 指定安装介质地址,可以是网络地址,也可以是本地的一个绝对路径,
[size=1.333]如果我们是使用网络地址安装,改为--location 'http://mirrors.163.com/centos/6.7/os/i386/' \,回车后会提示安装
Welcome to CentOS for i386
┌────────┤ Choose a Language ├────────┐
│ │
│ What language would you like to use │
│ during the installation process? │
│ │
│ Catalan ↑ │
│ Chinese(Simplified) ‥ │
│ Chinese(Traditional) ‥ │
│ Croatian ‥ │
│ Czech ‥ │
│ Danish ‥ │
│ Dutch ‥ │
│ English ↓ │
│ ┌────┐ │
│ │ OK │ │
│ └────┘ │
└─────────────────────────────────────┘
/ between elements | selects | next screen
选择English,回车
Welcome to CentOS for i386
┌────────────┤ Configure TCP/IP ├────────────┐
│ │
│
│ ( ) Dynamic IP configuration (DHCP) │
│ ( *) Manual configuration │
│ │
│
│ (*) Automatic │
│ ( ) Automatic, DHCP only │
│ ( ) Manual configuration │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────┘
/ between elements | selects | next screen
选择网络先关选项,选择 Manual configuration , Automatic 回车
Welcome to CentOS for i386
┌────────────────┤ Manual TCP/IP Configuration ├─────────────────┐
│ │
│ Enter the IPv4 and/or the IPv6 address and prefix (address / │
│ prefix). For IPv4, the dotted-quad netmask or the CIDR-style │
│ prefix are acceptable. The gateway and name server fields must │
│ be valid IPv4 or IPv6 addresses. │
│ │
│ IPv4 address: 192.168.17.137__ / 255.255.255.0___ │
│ Gateway: 192.168.17.2_____________________________ │
│ Name Server: 8.8.8.8__________________________________ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
配置网络,ip可以随便设置一个,Gateway:设置为 17.2
Welcome to CentOS for i386
┌────────────────────────────────┤ Warning ├─────────────────────────────────┐
│ Error processing drive: ↑ │
│ ‥ │
│ pci-0000:00:05.0-virtio-pci-virtio1 ‥ │
│ 30720MB ‥ │
│ Virtio Block Device ‥ │
│ This device may need to be reinitialized. ‥ │
│ ‥ │
│ REINITIALIZING WILL CAUSE ALL DATA TO BE LOST! ‥ │
│ ‥ │
│ This action may also be applied to all other disks ‥ │
│ needing reinitialization. ↓ │
│ │
│ ┌────────┐ ┌────────────┐ ┌───────────────┐ ┌───────────────────┐ │
│ │ Ignore │ │ Ignore all │ │ Re-initialize │ │ Re-initialize all │ │
│ └────────┘ └────────────┘ └───────────────┘ └───────────────────┘ │ │ │└────────────────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
选择第四个 Re-initialize all
Welcome to CentOS for i386
┌───────┤ Time Zone Selection ├───────┐
│ │
│ In which time zone are you located? │
│ │
│
│ │
│ America/Monterrey ↑ │
│ America/Montevideo ‥ │
│ America/Montserrat ‥ │
│ America/Nassau ‥ │
│ America/New York ↓ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└─────────────────────────────────────┘
/ between elements | selects | next screen
选择时区接下来输入密码,回车
Welcome to CentOS for i386
┌─────────────────────┤ Partitioning Type ├─────────────────────┐
│ │
│ Installation requires partitioning of your hard drive. The │
│ default layout is suitable for most users. Select what space │
│ to use and which drives to use as the install target. │
│ │
│ Use entire drive │
│ Replace existing Linux system │
│ Use free space │
│ │
│ Which drive(s) do you want to use for this installation? │
│
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└───────────────────────────────────────────────────────────────┘
,<+>,<-> selection | Add drive | next screen
直接OK回车,因为centos6没有在字符界面下分区的命令,所以整个一块磁盘,如果要自定义分区,则要启用vnc
Welcome to CentOS for i386
┌─────────────┤ Writing storage configuration to disk ├──────────────┐
│ The partitioning options you have selected will now be written to │
│ disk. Any data on deleted or reformatted partitions will be lost. │
│ │
│ ┌─────────┐ ┌───────────────────────┐ │
│ │ Go back │ │ Write changes to disk │ │
│ └─────────┘ └───────────────────────┘ │
└────────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
点击Write changes to disk 回车,会自动安装,
Welcome to CentOS for i386
────────────────────┤ Package Installation ├──────────────────────┐
│ 94% │
│ Packages completed: 203 of 225 │
│ │
│ Installing selinux-policy-targeted-3.7.19-279.el6.noarch (3 MB) │
│ SELinux targeted base policy │
└───────────────────────────────────────────────────────────────────┘
/ between elements | selects | next screen
现在重启
Welcome to CentOS for i386
───────────────────────┤ Complete ├────────────────────────────┐
│ Congratulations, your CentOS installation is complete. │
│ Please reboot to use the installed system. Note that updates may │
│ be available to ensure the proper functioning of your system and │
│ installation of these updates is recommended after the reboot. │
│ ┌────────┐ │
│ │ Reboot │ │
│ └────────┘ │
└───────────────────────────────────────────────────────────────────┘
to exit
[size=1.333]如果我们是使用本地资源安装,有两种方法,一种是下载ISO,一种是挂载为本地的的一个目录
(--location '/mnt/', 其中/mnt/下就是我们挂载的光盘镜像mount /dev/cdrom /mnt)如果是绝对路径,那么后面还需要指定一个安装介质,比如NFS,假如虚拟机设置ip后,不能连外网,那么就会提示让我们选择安装途径:[size=1.333]
使用NFS安装
# mount /dev/cdrom /mnt/
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 11G 1.4G 8.7G 14% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 190M 31M 149M 18% /boot
/dev/sdb1 50G 1.9G 45G 4% /data
/dev/sr0 3.7G 3.7G 0 100% /mnt
# ls /mnt
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
现在安装
#qemu-img create -f qcow2 -o preallocation=metadata /data/kvm/aming1.qcow1 10G
然后
virt-install \
--name aming1 \
--ram 512 \
--disk path=/data/kvm/aming1.qcow1 ,
format=qcow2,
size=7,
bus=virtio \
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location '/mnt/' \
--extra-args 'console=ttyS0,115200n8 serial'
也即
virt-install --name aming1 --ram 512 --disk path=/data/kvm/aming1.qcow2,format=qcow2,size=7,bus=virtio --vcpus 1 --os-type linux --os-variant rhel6 --network bridge=br0 --graphics none --console pty,target_type=serial --location '/mnt/' --extra-args 'console=ttyS0,115200n8 serial'
进入安装
┤ Choose a Language ├────────┐
│ │
│ What language would you like to use │
│ during the installation process? │
│ │
│ Catalan ↑ │
│ Chinese(Simplified) ‥ │
│ Chinese(Traditional) ‥ │
│ Croatian ‥ │
│ Czech ‥ │
│ Danish ‥ │
│ Dutch ‥ │
│ English ↓ │
│ │
│ ┌────┐ │
│ │ OK │ │
│ └────┘ │
└─────────────────────────────────────┘
选择NFS directory
──┤ Installation Method ├───┐
│ │
│ What type of media contains │
│ the installation image? │
│ │
│ Local CD/DVD │
│ Hard drive │
│ NFS directory │
│ URL │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└─────────────────────────────┘
配置ip
┌────────────┤ Configure TCP/IP ├────────────┐
│ │
│
│ ( ) Dynamic IP configuration (DHCP) │
│ (*) Manual configuration │
│ │
│
│ (*) Automatic │
│ ( ) Automatic, DHCP only │
│ ( ) Manual configuration │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
│ │
│ │
└────────────────────────────────────────────┘
┌────────────────┤ Manual TCP/IP Configuration ├─────────────────┐
│ │
│ Enter the IPv4 and/or the IPv6 address and prefix (address / │
│ prefix). For IPv4, the dotted-quad netmask or the CIDR-style │
│ prefix are acceptable. The gateway and name server fields must │
│ be valid IPv4 or IPv6 addresses. │
│ │
│ IPv4 address: 192.168.17.139__ / 255.255.255.0___ │
│ Gateway: 192.168.17.2_____________________________ │
│ Name Server: 202.106.0.20_____________________________ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
│ │
│ │
└────────────────────────────────────────────────────────────────┘
打开新的session配置NFS,把/mnt共享出去
# vi /etc/exports
/mnt 192.168.17.0/24
#/etc/init.d/rpcbind start; /etc/init.d/nfs start
继续配置,在原来的session中,配置,NFS server name: 填写母机的ip即可
┌───────────────────────────┤ NFS Setup ├────────────────────────────┐
│ │
│ Please enter the server and NFSv3 path to your CentOS installation │
│ image and optionally additional NFS mount options. │
│ │
│ NFS server name: 192.168.17.128__________ │
│ CentOS directory: /mnt/images/install.img_ │
│ NFS mount options (optional): ro______________________ │
│ │
│ ┌────┐ ┌──────┐ │
│ │ OK │ │ Back │ │
│ └────┘ └──────┘ │
└────────────────────────────────────────────────────────────────────┘
当按下回车后,稍等几秒钟就可以看到安装提示了,和前面的网络的安装方法是一样的,
开始安装......
搜索文件 .treeinfo...... | 720 B 00:00 ...
搜索文件 vmlinuz...... | 7.7 MB 00:02 ...
搜索文件 initrd.img...... | 63 MB 00:23 ...
创建存储文件 centos6.6_1.img | 30 GB 00:00
创建域...... | 0 B 00:00
连接到域 centos6.6_1
Escape character is ^]
要想退回到宿主机,ctrl ] 即可。
上面两种方法均可安装子机
现在登录
CentOS release 6.7 (Final)
Kernel 2.6.32-573.el6.i686 on an i686
localhost.localdomain login: root
Password:
查看内存及磁盘容量是否合适
# free -m
total used free shared buffers cached
Mem: 498 92 405 0 5 37
-/+ buffers/cache: 49 448
Swap: 1023 0 1023
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
28G 631M 26G 3% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/vda1 477M 31M 421M 7% /boot
要想退回到宿主机(母机),ctrl ] 即可。
怎样登录子机
#virsh list 可以列出当前的子机列表。
#virsh list --all 列出所有的子机列表
#virsh console aming1 可以进入指定的子机,是在没有网络的情况下
如果在关机的时候登录则,
#virsh start aming1 --console
[size=1.267]怎样删除子机
#virsh list 可以列出当前的子机列表。
#virsh list --all 列出所有的子机列表
假如想彻底删除aming2
# virsh destroy aming2
易错误处destroy容易写成destory
在list列表中删除aming2
#virsh undefine aming2
[size=1.267]子机的关机
# virsh shutdown aming1
关闭子机,但是这样不彻底,因为它用到了一个服务,acpid,
母机通过这个服务可以控制子机的电源,
在子机安装
# yum install -y acpid
#然后启动它
#/etc/init.d/acpid start
[size=1.267]设置子机随母机自动开启:
# virsh autostart aming1
域 aming1标记为自动开始
设置在开启母机的时候取消自动开启子机:
# virsh autostart --disable aming1
域 aming1标记为自动开始
[size=1.267]挂起子机
#virsh suspend aming1
域 aming1 被挂起
# virsh resume aming1
域 aming1 被重新恢复
编辑回复