设为首页 收藏本站
查看: 528|回复: 0

[经验分享] Centos7.Xen虚拟化及DomU的实现

[复制链接]

尚未签到

发表于 2018-4-22 11:32:43 | 显示全部楼层 |阅读模式
0001-安装xen
  下载安装xen源
yum -y install centos-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 -y update kernel11  安装xen
yum --enablerepo=centos-virt-xen -y install xen11  编辑Domain0的配置文件,如同下面code,我配置Domain0的内存是4Gb,如果你安装xen的虚拟机或实体机的内存也为4Gb的话,当安装完xen后重启进入不了系统,注意:虚拟机或实体机的内存一定要大于Domain0设置的内存。
vi /etc/default/grub11GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1 .....11  我使用Libvirt装的虚拟机,安装Libvirt
yum --enablerepo=centos-virt-xen -y install libvirt libvirt-daemon-xen virt-install11  运行grub-bootxen.sh脚本,将xen添加到开机启动项中
/bin/grub-bootxen.sh11  重启进入xen系统
reboot11  查看xen的信息,检查是否安装成功
xl info110010-配置网桥
  添加网桥“br0”,添加成功会提示successfully added。
nmcli c add type bridge autoconnect yes con-name br0 ifname br011Connection 'br0' (0f4b7bc8-8c7a-461a-bff1-d516b941a6ec) successfully added.11  为“br0”创建ip地址
nmcli c modify br0 ipv4.addresses 10.0.0.30/24 ipv4.method manual11  为“br0”创建网关
nmcli c modify br0 ipv4.gateway 10.0.0.111  为“br0”创建DNS
nmcli c modify br0 ipv4.dns 10.0.0.111  删除原有网卡,添加新的网卡与br0连通
nmcli c delete eno16777736  
nmcli c add type bridge-slave autoconnect yes con-name eno16777736 ifname eno16777736 master br01212
  重启NetworkManager服务
systemctl stop NetworkManager; systemctl start NetworkManager11  查看ip信息
ip addr110011-创建虚拟机
  启动Libvirt服务
systemctl start libvirtd  
systemctl enable libvirtd1212
  安装系统安装镜像,我是用虚拟机安装的xen,我直接把安装镜像解压传到了虚拟机里面,在centos系统的home目录下有一个已经解压好的安装镜像文件,“/home/centos”,实体机的话可以挂载安装,找到挂载目录就行。
  创建虚拟机镜像目录
mkdir -p /var/xen/images11  开始安装虚拟机,需要注意的是size大小,不要弄太大,要小于机身存储减去Domain0的存储后的存储,否则会报错,提示存储空间不够。
virt-install --connect xen:/// --paravirt --name centos7 --ram 4096 --disk path=/var/xen/images/centos7.img,size=10 --vcpus 2 --os-type linux --os-variant rhel7 --network bridge=br0 --graphics none --location '/home/centos/' --extra-args 'text console=com1 utf8 console=hvc0'110100-安装成功
  之后出现一大堆安装信息,当安装的时候没联网的话,会提示类似超时的信息,只需等待一会即可,安装成功之后,就会进入虚拟机的交互界面,输入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+] 退出虚拟机

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450377-1-1.html 上篇帖子: 基于Centos6的tomcat部署 下篇帖子: CentOS系统上配置https服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表