运维排错(重要技能)
guestmount -a guest.img -i --rw /mnt/cdisk  手动挂在镜像进行更改
systemctl mask 服务名 //放进黑洞 别的程序调用不了  彻底禁止  mask/屏蔽,掩码
VMware
VMware Workstatior//工作站
vsphere
esxi   服务器版
vcenter  控制版  //类似virt-manager
必备软件  qemu-kvm
-为KVM提供底层仿真支持
libvirt-daemon    -libvirt守护进程,管理虚拟机
libvirt-client    -用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu    -libvirtd连接qemu的驱动
可选功能
virt-install  #系统安装工具
virt-manager  #图形管理工具
virt-v2v      #虚拟机迁移工具
virt-p2v      #物理机迁移工具
 虚拟机的组成
-内核虚拟化模块(KVM)
-系统设备仿真  (QEMU)、
-虚拟机管理程序 (LIBVIRT)
 
-一个XML文件(虚拟机配置声明文件) ///etc/libvirt/qemu/
一个磁盘镜像文件(虚拟机的硬盘)  ///var/lib/libvirt/images
 
命令
管理虚拟机节点
查看KVM节点(服务器)信息
-virsh nodeinfo
列出虚拟机
-virsh list [--all]
列出虚拟网络
-virsh net-list [--all]
查看指定虚拟机的信息
-virsh dominfo 虚拟机名称
运行|重起|关闭指定虚拟机
virsh start|reboot|shutdown
强制关闭指定的虚拟机
virsh destroy 虚拟机名字
将指定的虚拟机设为开机自动运行
virsh autostart [--disable]  虚拟机名称
 
常用镜像盘类型
虚拟机磁盘镜像的文件格式
 
virsh -c qemu+ssh://ip地址/system
通过virsh 控制别人的虚拟机
 
创建虚拟交换机
原理:调用 dnsmasq 提供DNS、DHCP等功能
– 创建配置文件 /etc/libvirt/qemu/networks/vbr.xml  /交换机配置文件全放在这个目录
格式
<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>
 
创建模版虚拟节磁盘 qcow2 模式
常用虚拟机的磁盘镜像文件格式
特点\类型   RAW QCOW2
KVM默认     否   是
I/O效率     高   较高
占用空间     大   小
压缩       不支持 支持
后端盘复用 不支持 支持
快照         不支持 支持
创建镜像模版
qemu-img
qemu-img 是虚拟机的磁盘管理命令
qemu-img 支持非常多的磁盘格式,例如 raw、qcow2、vdi、vmdk 等等
qemu-img 命令格式
– qemu-img 命令 参数 块文件名称 大小
常用的命令有
– create 创建一个磁盘
– convert 转换磁盘格式
– info 查看磁盘信息
– snapshot 管理磁盘快照
 
创建新的镜像盘文件
– qemu-img create -f 格式 磁盘路径 大小
– qemu-img create -f qcow2 磁盘名.img 50G
• 查询镜像盘文件的信息
– qemu-img info 磁盘路径
– qemu-img info disk.img
• -b 使用后端模板文件
– qemu-img create -b disk.img -f qcow2 disk1.img
 
qemu-img create -f qcow2 disk.img 10G
 
virt-manager 进行图形安装
新建虚拟机 选网络安装可为HTTP,FTP,NFS
URL路径 写ftp的地址
分配内存和CPU
选择自定义储存 // 写刚才新建的disk.img
选择网络交换机 //刚才新建的交换机
分区手动  选择 Standard Partition  把整个/分区挂上
 
初始化虚拟机
1 修改 /etc/selinux/config
  SELINUX=disabled
2 配置网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="dhcp"
#IPADDR="192.168.1.50"
#PREFIX="24"
#GATEWAY="192.168.1.254"
3配置YUM源
[local_repo]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.1.254/rhel7  //真机FTP挂载地址
enabled=1
gpgcheck=0
4 安装软件
yum install -y lftp net-tools vim-enhanced bridge-utils psmisc   bash-completion.noarch 1:2.1-6.el7
5 停止 firewalld NetworkManager
  systemctl stop firewalld
  systemctl stop NetworkManager
6 卸载
  yum remove -y NetworkManager-* firewalld-* python-firewall
7 重启机器  reboot
 
8 验证数字签名
lftp ip //下载IP地址的FTP资源
lftp sftp//ip -u root //以SSH端口 进行lftp下载 直接下载对象真机的资源 //下载到本地
下载 RPM-GPG-KEY-CentOS-7
导入 rpm --import RPM-GPG-KEY-CentOS-7
修改 local.repo  gpgcheck=1
使用 yum install lftp lrzsz 验证  lrzsz /windows ———— linux 传输文件系统
9 配置网络,禁用空路由
  配置文件 /etc/sysconfig/network
  NOZEROCONF="yes"
  网卡配置文件见范例
10 添加串口终端
  配置文件 /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
GRUB_DISABLE_RECOVERY="true"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
修改内容看范例
修改完成之后创建引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
 11 修改 fstab
   blkid  查看uuid
   修改 UUID=xxxxxx 为 /dev/vda1
 12 安装分区扩展软件
   yum install -y cloud-utils-growpart   /虚拟机直接扩展空间
新虚拟机上来操作两步 
扩展磁盘分区空间(让 /dev/vda1 变大)
   /usr/bin/growpart /dev/vda 1
   扩展文件系统识别空间(让 df -h 可使用空间变大)
   /usr/sbin/xfs_growfs /
13 关闭虚拟机,清理信息 (真机)
   设置语言为英文 LANG=en_US.UTF-8
   virt-sysprep -d 虚拟机名称
14 删除虚拟机定义
   virsh undefine centos7.0
15 快速创建虚拟机
   例如创建虚拟机 node1
   创建磁盘文件
   cd /var/lib/libvirt/images
   qemu-img create -b node.img -f qcow2 node1.img 32G  /用模板制作新虚拟机
   创建虚拟机配置文件
   sed 's/node/node1/' node.xml >/etc/libvirt/qemu/node1.xml  //更改虚拟机名字
   virsh define /etc/libvirt/qemu/node1.xml  //更改镜像存储
   启动虚拟机    virsh start node1
   连接查看虚拟机   virsh console node1  查看是不是和模板一样
 1 yum 源的安装和配置(网络yum源)
  光盘作为 yum 源 CentOS7-1708.iso (共9591包)
    有 repodata 目录的才可以作为 yum 源
  自定义 yum 源
    创建一个 repodata
    createrepo .
    更新
    createrepo --update .
 
2 dns 服务
yum install bind bind-chroot
  编辑配置文件 named.conf
  listen-on port 53 { 192.168.1.254; };
  allow-query     { any; };
  forwarders { 202.106.196.115; };
  dnssec-enable no;
  dnssec-validation no;
 
3 时间服务器
yum install -y chrony
  server:配置 /etc/chrony.conf
  server ntp1.aliyun.com iburst
  bindacqaddress 0.0.0.0
  allow 0/0
 
  client:配置 /etc/chrony.conf
  server 192.168.1.254 iburst
 
  检查状态
  chronyc sources -v
  * 同步成功,+ 备胎 , ? 同步失败