《Linux系统管理员工具集》——读书笔记

前述系列

程序设计语言

  1. 机器语言
  2. 汇编语言
  3. 高级语言:接近于数学语言或人的自然语言;
  4. 非过程化语言:第三代语言是过程化语言,它必须描述问题是如何求解的。第四种语言是非过程化语言,它只需描述需求解的问题是什么。如将某班学生成绩按从高到低的次序输出。用第四代语言只需要写出这个要求即可,而不必写如排序的过程。
  5. 智能化语言:主要为人工智能领域设计,如知识库系统、专家系统、推理工程、自然语言处理等。

虚拟化工具-KVM

KVM由两部分组成,其中一部分称为KVM Driver,已经成为Linux内核的一个模块,负责虚拟机的创建、虚拟机的内存分配、虚拟CPU寄存器的读/写及虚拟CPU的运行等;另外一部分是稍微修过的QEMU,用于模拟PC硬件的用户空间组件、提供I/O设备模型及访问外设的途径。
准确来说,KVM仅仅是Linux内核的一个模块。管理和创建完整的KVM虚拟机,需要更多的辅助工具。

安装及配置KVM相关软件

  1. 系统要求
    处理器需求:Intel虚拟化技术或AMD安全虚拟机技术(AMD-V)
    可使用如下命令检查:
    # egrep ’ (vmx|svm)’ --color=always /proc/cpuinfo
    flages :fpuwme de pse tsc msr pae mce

    如果输出结果包含VMX,则表示采用Intel处理器虚拟机技术;如果包含SVM,则表示采用MD处理口虚拟机技术;否则,表示系统不支持虚拟化处理,不能使用KVM。
    另,Linux发行版本必须在64位环境中才能使用KVM。

  2. 安装软件
    使用命令行安装KVM软件模块、管理工具和libvirt(创建虚拟机的工具)
    #yum install kvm virt-manager libvirt
    #/sbin/service libvirtd start

  3. 确定正确加载KVM模块
    运行“ls,mod |grep kvm”检查KVM命令模块是否成功安装。如果结果类似于以下输出,则KVM模块已成功安装。
    # lsmod | grep kvm
    kvm_amd 69416 1
    kvm 226208 2 ksm,kvm_amd

  4. 检查KVM是否成功安装
    virsh -c qemu:///system list
    将会显示如下结果
    # virsh -c qemu:///system list
    Id Name State
    如果在这里显示的是一个错误的信息,则说明有些地方出现了问题。

  5. 使用virt-manager建立一个KVM虚拟机–(要为图形用户界面操作)
    虚拟化管理应用程序

应用程序描述
virt-manager虚拟机桌面管理工具
virt-install虚拟机配给工具
virt-clone虚拟机映像克隆工具
virt-image从一个XML描述符构造虚拟机
virt-viewer虚拟机图形控制台
virshvirsh Guest 域的交互式终端

创建一个虚拟机的5个操作步骤(略)

RHEL 6 KVM虚拟机的新功能

  1. 设置桥接网络接口
    1)安装桥接软件包
    #yum install bridge-utils
    2)修改文件/etc/sysconfig/network-scripts/ifcfg-ethX(这里笔者使用eth3),添加一行:
    BRIDGE=br3
    3)建立文件/etc/sysconfig/network-scripts/ifcfg-br3
    DEVICE=br3
    BOOTPROTO=none
    TYPE=Bridge
    ONBOOT=yes
    DELAY=0
    4)重新启动网络配置
    # /etc/rc.d/init.d/netword restart
    5)为了确认网桥是否存在,运行以下代码查看是否有br3接口
    #/usr/sbin/brctl show
    6)修改防火墙脚本。在/etc/sysconfig/iptables中添加一行
    -A RH-Firewall-1-INPUT -i bridge0 -j ACCEPT
    # /sbin/service iptable restart
    然后在使用virt-manager建立虚拟机的过程中可以看到桥接网络配置选项。

  2. 使用图形化KVM虚拟机管理工具virt-manager
    提供4个选项卡
    概况 虚拟网络 存储 网络接口

  3. 虚拟机克隆
    用户必须关闭虚拟机后才能进行克隆,此外还要设置克隆机的名称和网卡MAC地址。
    右键单击虚拟机名称,在弹出的快捷菜单中选择“克隆”命令。

  4. 虚拟机的保存和恢复
    保存功能会将当前虚拟机的状态保存起来,而不是关机,类似于待机,下次单击“恢复”时虚拟机将从保存的状态恢复,以减少虚拟机打开所需要的时间。

  5. 创建虚拟网络
    虚拟网络->添加;
    输入虚拟网络名称;
    选择虚拟网络的IPv4地址空间->选择DHCP范围
    选择是否将这个虚拟网络连接到物理网络->选择目的网络为任意物理设备或NAT到eth0。
    单击“完成”。

使用命令行执行高级管理任务

virt-manager的缺陷:
需要在系统内运行,这会浪费资源并为别有目的的人提供额外的进攻点;
需要通过图形工作站运行远程接入的方式,才能对服务器上的虚拟机进行管理。
virsh的优势:
可以通过命令行执行各种管理任务;
通过主命令和子命令管理每个虚拟机功能。
可以通过输入virsh help和virt-install help来查看所有命令。

创建一个名称为“myWin7”的Win7虚拟机

yun install virt-viewer
#virt-install --name myWin7 --hvm --ram 1024 --disk
path=/tmp/win7.img,size=10 --network network:default --vnc --os-variant vista --cdrom /dev/hda
Starting install…

查看虚拟机

#virsh -c qemu:///system list

关闭虚拟机

#virsh shutdow myWin7

彻底摧毁一个虚拟机

#virsh destroy myWin7

从一个XML配置文件建立虚拟机

#virsh dumpxml Windws7 > Windows7.xml
XML文件内容略。

使用virt-top监控虚拟机

#yum -y install virt-top
#virt-top
查看CPU使用情况,按1键;
查看网络接口情况,按2键;

KVM虚拟机存储设置

KVM虚拟机的存储模式

KVM的存储方式有多种:

  • 虚拟磁盘文件
  • 基于文件系统的存储
  • 基于设备的存储。
    可以使用LVM(Logical Volume Manager)和创建存储池。
    基于文件系统的存储方式会降低系统速度,但可以很轻松地用于其它的KVM虚拟化宿主机。如果你希望优化KVM的性能,则最好考虑其他的存储方式。
基于文件系统的KVM存储

两种方式: dir fs
dir:用户指定本地文件系统中的一个目录用于创建磁盘镜像文件;
fs:指定某个格式化文件系统的名称作为专用的磁盘镜像文件存储;不需要挂载到某个特定的分区
两者都可以是本地文件系统或SAN上的文件系统,若使用后者则可轻易实现多个主机的同时访问。
还有一种基于文件的磁盘存储方式为netfs,用户可以指定一个网络文件系统的名称,如Samba。
缺陷:虚拟机的磁盘文件不能直接读写KVM存储设备,而是写入宿主机OS之上的文件系统,会降低性能。

基于设备的KVM存储

支持4种不同的存储设备:磁盘、ISCSI、SCSI、逻辑盘
磁盘:读写硬盘;
ISCSI/SCSI:取决于ISCSI、SCSI设备;
优势:磁盘名称是固定的,不需要于宿主机OS搜索到磁盘设备的顺序;
缺点:灵活性不足、磁盘大小很难改变、不支持快照;
LVM:把所有存储主到一个卷里,从而轻松创建一个逻辑卷,如果超出了可用磁盘空间的最大值则还可以向卷级中添加新的设备。
如果使用Cluster LVM,则可以很容易地配置成多个主机同时访问某个逻辑卷。

使用KVM存储池

在宿主机上创建存储池

  • 简化KVM存储设备的管理;
  • 实现对提前预留的存储空间的分配;
  • 先创建一个KVM存储池,再通过这个池提供LVM逻辑卷
  • 使用LVM增加的快照功能
  • 提供灵活性

创建基于分区的存储池

/dev/sdb1是一个40GB的磁盘分区,文件格式为ext4。
基于它创建一个存储池:

  • 在virt-manager主窗口中选择“主机”,打开“编辑”菜单,选择“主机详细信息”,点击主机详情窗口中的“存储”选项卡,其中default为系统自带;
  • 单击+按钮,打开添加新存储池向导;
  • 输入名称“fs”,选择类型“fs:预告格式化的块设备”,单击“前进”按钮;
  • 输入安装在存储池中源设备的目标路径,如果该位置不存在,则virt-manager会使用自动创建的目录,在“格式”下接列表中选择ext4,在“源路径”框中输入“/dev/sdb1”设备
  • 单击“完成”,新建的存储池会出现在“主机详情”窗口左侧的存储池列表中。

创建基于目录的存储池

先创建存储池主机上的目录。
如果权限和SELinux的配置都正确,也可以使用现有的目录。
如下例:

  • #mkdir /dir
    
  • #chown root:root /dir
    
  • #chmod 700 /dir
    
  • #semanage fcontext -a -t virt_image_t /dir
    

然后执行如下操作:

  • 在virt-manager主窗口中选择“主机”,打开“编辑”菜单,选择“主机详细信息”,单击“主机详情”窗口中的“存储”选项卡
  • 单击+按钮打开“添加新存储池”向导
  • 输入名称“dir”,选择类型"dir:文件系统目录“,单击”前进“
  • 输入安装在存储池中源设备的目标路径,若此位置不存在,则virt-manager会自动创建
  • 单击”完成“,查看。

创建基于LVM的存储池

  • 在virt-manager主窗口中选择"主机“,”编辑“,”主机详细信息“,”主机详情“,”存储“
  • 单击+
  • 输入名称”lvm1",选择类型“logical:LVM卷组”
  • 输入安装在存储池中源设备的目标路径“/dev/VolGroup”,在“源路径”中输入“/dev/sdb1”设备。
  • 完成

使用命令行方式管理存储池

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值