0001-安装xen
下载安装xen源
yum-yinstallcentos-release-xen11
添加xen的源
sed-i-e"s/enabled=1/enabled=0/g"/etc/yum.repos.d/CentOS-Xen.repo11
更新centos内核
yum--enablerepo=centos-virt-xen-yupdatekernel11
安装xen
yum--enablerepo=centos-virt-xen-yinstallxen11
编辑Domain0的配置文件,如同下面code,我配置Domain0的内存是4Gb,如果你安装xen的虚拟机或实体机的内存也为4Gb的话,当安装完xen后重启进入不了系统,注意:虚拟机或实体机的内存一定要大于Domain0设置的内存。
vi/etc/default/grub11
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=4096M,max:4096Mcpuinfocom1=115200,8n1.....11
我使用Libvirt装的虚拟机,安装Libvirt
yum--enablerepo=centos-virt-xen-yinstalllibvirtlibvirt-daemon-xenvirt-install11
运行grub-bootxen.sh脚本,将xen添加到开机启动项中
/bin/grub-bootxen.sh11
重启进入xen系统
reboot11
查看xen的信息,检查是否安装成功
xlinfo11
0010-配置网桥
添加网桥“br0”,添加成功会提示successfully added。
nmclicaddtypebridgeautoconnectyescon-namebr0ifnamebr011
Connection'br0'(0f4b7bc8-8c7a-461a-bff1-d516b941a6ec)successfullyadded.11
为“br0”创建ip地址
nmclicmodifybr0ipv4.addresses10.0.0.30/24ipv4.methodmanual11
为“br0”创建网关
nmclicmodifybr0ipv4.gateway10.0.0.111
为“br0”创建DNS
nmclicmodifybr0ipv4.dns10.0.0.111
nmclicdeleteeno16777736 nmclicaddtypebridge-slaveautoconnectyescon-nameeno16777736ifnameeno16777736masterbr01212
重启NetworkManager服务
systemctlstopNetworkManager;systemctlstartNetworkManager11
查看ip信息
ipaddr11
0011-创建虚拟机
启动Libvirt服务
systemctlstartlibvirtd systemctlenablelibvirtd1212
安装系统安装镜像,我是用虚拟机安装的xen,我直接把安装镜像解压传到了虚拟机里面,在centos系统的home目录下有一个已经解压好的安装镜像文件,“/home/centos”,实体机的话可以挂载安装,找到挂载目录就行。
创建虚拟机镜像目录
mkdir-p/var/xen/images11
开始安装虚拟机,需要注意的是size大小,不要弄太大,要小于机身存储减去Domain0的存储后的存储,否则会报错,提示存储空间不够。
virt-install--connectxen:///--paravirt--namecentos7--ram4096--diskpath=/var/xen/images/centos7.img,size=10--vcpus2--os-typelinux--os-variantrhel7--networkbridge=br0--graphicsnone--location'/home/centos/'--extra-args'textconsole=com1utf8console=hvc0'11
0100-安装成功
之后出现一大堆安装信息,当安装的时候没联网的话,会提示类似超时的信息,只需等待一会即可,安装成功之后,就会进入虚拟机的交互界面,输入exit
即可退出xen安装的虚拟机,进入本机系统。
xm工具:xm help
xm list 查看所有域
states 状态显示 r表示运行 s表示关闭 c表示崩溃了 d表示正在关闭中 b表示阻塞 p表示暂停
创建虚拟机
xm create /dev/null ramdisk=initrd.img \
kernel=/boot/vmlinuz-2.6.12.6-xenU \
name=ramdisk vif='' vcpus=1 \
memory=64 root=/dev/ram0
# mkdir -pv /xen/vm1 先创建目录
# dd if=/dev/zero of=/xen/vm1/test.img oflag=direct bs=1M seek=2048 count=1 创建一个稀疏的磁盘镜像,不暂用磁盘空间,实际大小只有1M,显示为2.1G
# mkfs.ext4 /xen/vm1/test.img 分区格式化。
# mount -o loop /xen/vm1/test.img/mnt 挂载
# vim /bincp.sh
#!/bin/bash
#
DEST=/mnt
libcp() {
LIBPATH=${1%/*}
[ ! -d $DEST$LIBPATH ] && mkdir -p $DEST$LIBPATH
[ ! -e $DEST${1} ] && cp $1 $DEST$LIBPATH && echo "copy lib $1 finished."
}
bincp() {
CMDPATH=${1%/*}
[ ! -d $DEST$CMDPATH ] && mkdir -p $DEST$CMDPATH
[ ! -e $DEST${1} ] && cp $1 $DEST$CMDPATH
for LIB in `ldd $1 | grep -o "/.*lib\(64\)\{0,1\}/[^[:space:]]\{1,\}"`; do
libcp $LIB
done
}
read -p "Your command: " CMD
until [ $CMD == 'q' ]; do
! which $CMD && echo "Wrong command" && read -p "Input again:" CMD && continue
COMMAND=` which $CMD | grep -v "^alias" | grep -o "[^[:space:]]\{1,\}"`
bincp $COMMAND
echo "copy $COMMAND finished."
read -p "Continue: " CMD
done
-------------------------------------
# bash bincp.sh 移植程序
Your command: init
Your command: bash
Your command: ls
Your command: cat
[root@localhost ~]# tree /mnt
/mnt
├── lib64
│ ├── ld-linux-x86-64.so.2
│ ├── libc.so.6
│ ├── libdbus-1.so.3
│ ├── libgcc_s.so.1
│ ├── libnih-dbus.so.1
│ ├── libnih.so.1
│ ├── libpthread.so.0
│ └── librt.so.1
└── sbin
└── init
# chroot /mnt
#cd /mnt
# mkdir proc sys dev etc/{init,rc.d} var/{log,run} tmp
# cp /etc/init/rcS.conf /mnt/etc/init 提供配置文件
--------------------------------
# vi /mnt/etc/init/rcS.conf
# rcS - runlevel compatibility
#
# This task runs the old sysv-rc startup scripts.
#
# Do not edit this file directly. If you want to change the behavIoUr,
# please create a file rcS.override and put your changes there.
start on startup
stop on runlevel
task
# Note: there can be no prevIoUs runlevel here,if we have one it's bad
# information (we enter rc1 not rcS for maintenance). Run /etc/rc.d/rc
# without information so that it defaults to prevIoUs=N runlevel=S.
console output
exec /etc/rc.d/rc.sysinit 只保留这一项
--------------------------------------
# vi /mnt/etc/rc.d/rc.sysinit
#!/bin/bash
##
echo -e "\twelcome to MiniLinux(www.mylinux.com)"
exec /bin/bash
---------------
# umount /mnt
# chmod +x /mnt/etc/rc.d/rc.sysinit
#cd /etc/xen
# vim test
ramdisk="/boot/initramfs-2.6.32-358.el6.x86_64.img"
kernel="/boot/vmlinuz-2.6.32-358.el6.86_64"
name="test"
vcpus=1
memory=128
disk=['file:/xen/vm1/test.img,xvda,w',]
root="/dev/xvda ro"
extra="selinux=0 init=/sbin/init"
-------------------------
# xm create -c test 创建虚拟机,-c表示直接连接到虚拟机
# xm console test 使用xm连上虚拟机
xm destroy test 杀死虚拟机Crtl+] 退出虚拟机
原文链接:/centos/377237.html