• 内网开发机虚拟化(kvm+qemu)


    CentOS 7 安装

    a. U盘安装,请选择minimal版本。(DVD那个版本,后面需要把DVD的iso还要放在u盘目录下,但DVD超过4G,用ntfs不好搞)
    b. 制作启动盘,Mac可用unetbootin,win下可以用大白菜那个启动u盘制作工具,把iso写入u盘,同时把iso原始文件复制到u盘目录下
    c. 机器插上u盘启动
    d. 启动菜单按tab,此时出现类似vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64 rd.live.check quiet的字样
    e. 把其中 inst.stage2=hd:LABEL=CentOSx207x20x86_64 改为 linux dd
    f. 看是iso写在哪个设备下,比如/dev/sda1(unetbootin做的一般在这里),/dev/sda4(大白菜一般在这里)
    g. ctrl+alt+del重启
    h. 启动菜单按tab,把 inst.stage2=hd:LABEL=CentOSx207x20x86_64改为 inst.stage2=hd:/dev/sda1一类的
    i. 后面按照引导安装即可,记得语言选英语,不要为root设密码,要为用户勾选管理原选项(sudo)

    配置网卡
    sudo vi /etc/sysconfig/network-scripts/p4p1

    centos6.5以后,网卡命名方式已经修改了,使用一致性网络设备命名法,主要根据网卡的物理位置,是否是集成的还是在PCI插槽中来命名,通过这名称,网络管理员能够很清楚的知道网卡的物理位置

    网卡设备 旧名称 新名称
    集成网卡 eth[012...] em[123...]
    PCI网卡 eth[012...] p[插槽数]p[网卡号]
    虚拟网卡 eth[012...] p[插槽数]p[网卡号_虚拟接口]
    这种方法是依靠biosdevname程序来实现的,它按照一定的规则改变原来的eth[012..]网卡

    修改ONBOOT=yes,关闭ipv6

    sudo dhclient获取ip,测试网络即可

    常用软件包

    sudo yum install net-tools lrzsz

    centos默认没有ifconfig

    kvm,qemu软件安装

    yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer
    qemu-kvm:qemu模拟器
    qemu-img:qemu磁盘image管理器
    virt-install:用来创建虚拟机的命令行工具
    libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor
    libvirt-client:提供客户端API用来访问server和提供管理虚拟机命令行工具的virsh实体
    virt-viewer:图形控制台

    创建/data/iso和/data/img,上传/data/iso/CentOS-7-x86_64-Minimal-1611.iso

    virt-install --name=dev1 --ram=1024 --vcpus=1 --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1611.iso --os-type=linux --os-variant=rhel7 --network bridge=br0 --graphics=spice --disk path=/data/img/dev1.dsk,size=4

    如果出现以下错误,ERROR Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory,请按照以下操作

    yum -y install avahi
    service messagebus restart
    service avahi-daemon restart
    service libvirtd restart

    首先禁用kvm自带的默认网络配置virbr0
    virsh net-list #查看默认的kvm网络配置
    删除kvm自带默认网络配置
    virsh net-destroy default
    virsh net-undefine default
    service libvirtd restart
    查看网络配置ifconfig

    编辑p4p1,vim ifcfg-p4p1尾部添加
    BRIDGE=br0
    保存退出

    编辑ifcfg-br0,vim ifcfg-br0

    DEVICE=br0
    ONBOOT=yes
    TYPE=Bridge
    BOOTPROTO=dhcp
    DELAY=0

    保存退出
    重启network服务之后,生效 service network restart

    需要安装图形界面,要么无法看到虚拟机内部的情况,比如无法安装centos

    yum groupinstall "GNOME DESKTOP"

    virt-install --name=dev1 --ram=1024 --vcpus=1 --cdrom=/data/iso/CentOS-7-x86_64-Minimal-1611.iso --os-type=linux --os-variant=rhel7 --network bridge=br0 --graphics=spice --disk path=/data/img/dev1.dsk,size=4
    startx,在gnome下用,virt-manager来管理也行

    虚拟机基本操作
    虚拟机克隆

    virt-clone -o dev1 -n dev2 -f /data/img/dev2.dsk

    修改主机名

    hostnamectl --static set-hostname dev2
    reboot

    开机启动

    virsh autostart xxx

    销毁虚拟机

    virsh undefine xxx

    暂停、恢复虚拟机(复制虚拟机时,可以用这个暂停原机器)

    virsh suspend xxx
    virsh resume xxx

    虚拟机迁移
    确定虚拟机关闭状态virsh list --all
    查看要迁移的虚拟机情况virsh domblklist xxx
    virsh dumpxml xxx > /root/xxx.xml
    scp /root/xxx.xml到新的虚拟机上
    scp dsk文件到新的虚拟机上
    在新的虚拟机,按照之前virsh domblklist xxx的位置放好dsk文件
    在新的虚拟机,xxx.xml要放在/etc/libvirt/qemu/
    定义虚拟机virsh define /etc/libvirt/qemu/xxx.xml
    virsh list --all
    virsh start xxx
    虚拟机配置调整
    调整内存,cpu个数
    virsh edit dev1
    2. 调整硬盘大小

    以下使用root来操作

    调整镜像大小

    qemu-img info /data/img/dev1.dsk
    qemu-img resize /data/img/dev1.dsk +46G
    qemu-img info /data/img/dev1.dsk

    启动虚拟机

    调整虚拟机内部的LVM

    fdisk -l

    应该能找到有空闲空间的磁盘名,虚拟机一般是vda

    fdisk /dev/vda
    p #查看分区
    n #创建分区
    p #创建主分区
    3 #创建vda3(根据实际情况填写数字)
    使用默认扇区信息
    t #修改分区类型
    3 #修改vda3
    8e #类型修改为8e
    w #保存配置

    配置生效

    partprobe

    pvcreate /dev/vda3
    pvs #查看卷情况,根据vg名称扩展
    vgextend cl /dev/vda3
    lvs #查看卷情况
    lvextend -l +100%FREE /dev/cl/root

    centos默认使用xfs文件系统(根据df -h的结果)

    xfs_growfs /dev/mapper/cl-root

    成功没有捷径
  • 相关阅读:
    unix网络编程 初步了解TCP/IP协议
    unix网络编程 常见概念
    linux 环境变量
    linux c编程
    第二周学习笔记
    jmeter第一周学习笔记
    建造者模式
    原型设计模式
    抽象工厂模式
    工厂方法模式
  • 原文地址:https://www.cnblogs.com/orpheus89/p/9394009.html
Copyright © 2020-2023  润新知