zoukankan      html  css  js  c++  java
  • kvm虚拟机日常操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。废话不多说,下面列出kvm日常管理中的命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    1)查看KVM虚拟机配置文件及运行状态
    KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
    autostart目录是配置kvm虚拟机开机自启动目录。
      
    virsh命令帮助
    # virsh -help
    或直接virsh命令和,再执行子命令。如下所示。
    # virsh
    欢迎使用 virsh,虚拟化的交互式终端。
    输入:'help' 来获得命令的帮助信息
    'quit' 退出
    virsh # help
    .......
      
    查看kvm虚拟机状态
    #virsh list --all
      
    2)KVM虚拟机开机
    # virsh start oeltest01
      
    3)KVM虚拟机关机或断电
    关机
    默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
    # chkconfig acpid on
    # service acpid restart
    virsh关机
    # virsh shutdown oeltest01
      
    强制关闭电源
    # virsh destroy wintest01
      
    4)通过配置文件启动虚拟机
    # virsh create /etc/libvirt/qemu/wintest01.xml
      
    5)配置开机自启动虚拟机
    # virsh autostart oeltest01
      
    autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。
      
    6)导出KVM虚拟机配置文件
    # virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
      
    KVM虚拟机配置文件可以通过这种方式进行备份。
      
    7)添加与删除KVM虚拟机
    删除kvm虚拟机
    # virsh undefine wintest01
    说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。
      
    重新定义虚拟机配置文件
    通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
    # mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
    # virsh define /etc/libvirt/qemu/wintest01.xml
      
    8)编辑KVM虚拟机配置文件
    # virsh edit wintest01
    virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
    可以但不建议直接通过vi编辑。
    # vim /etc/libvirt/qemu/wintest01.xml
      
    9)irsh console 控制台管理linux虚拟机
     
    10)其它virsh命令
    挂起服务器
    # virsh suspend oeltest01
      
    恢复服务器
    # virsh resume oeltest01
      
    virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。
      
      
    -------------------------------------------其他命令-------------------------------------------
    1)创建虚拟机
    [root@localhost ~]# virt-install --name=centos1 #生成一个虚拟机
    --ram 1024 --vcpus=1
    --disk path=/root/centos1.img,size=10
    --accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso
    --graphics vnc,port=5921 --network bridge=br0
      
    2)virsh的其他操作
    [root@localhost /]# virsh start centos1 #启动虚拟机
    [root@localhost /]# virt-viewer centos1 #如果有图形界面的话,可以进入虚拟机的界面
    [root@localhost ~]# virsh shutdown centos1 #关闭虚拟机
    [root@localhost /]# virsh reboot centos1 #重启虚拟机
    [root@localhost /]# virsh suspend centos1 #暂停虚拟机
    [root@localhost /]# virsh resume centos1 #恢复虚拟机
    [root@localhost /]# virsh autostart centos1 #自动加载虚拟机
      
    -------------------------------------------virsh参数如下-------------------------------------------
    autostart      #自动加载指定的一个虚拟机
    connect        #重新连接到hypervisor
    console        #连接到客户会话
    create         #从一个SML文件创建一个虚拟机
    start          #开始一个非活跃的虚拟机
    destroy        #删除一个虚拟机
    define         #从一个XML文件定义一个虚拟机
    domid          #把一个虚拟机名或UUID转换为ID
    domuuid        #把一个郁闷或ID转换为UUID
    dominfo        #查看虚拟机信息
    domstate       #查看虚拟机状态
    domblkstat     #获取虚拟机设备快状态
    domifstat      #获取虚拟机网络接口状态
    dumpxml        #XML中的虚拟机信息
    edit           #编辑某个虚拟机的XML文件
    list           #列出虚拟机
    migrate        #将虚拟机迁移到另一台主机
    quit           #退出非交互式终端
    reboot         #重新启动一个虚拟机
    resume         #重新恢复一个虚拟机
    save           #把一个虚拟机的状态保存到一个文件
    dump           #把一个虚拟机的内核dump到一个文件中以方便分析
    shutdown       #关闭一个虚拟机
    setmem         #改变内存的分配
    setmaxmem      #改变最大内存限制值
    suspend        #挂起一个虚拟机
    vcpuinfo       #虚拟机的cpu信息
    version        #显示virsh版本
      
    3)virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用!
    # virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1
    正在克隆 centos1.img | 10.0 GB 00:07
      
    Clone 'centos3' created successfully.
    libguestfs-tools是虚拟机一个管理包,很有用的工具
    [root@localhost ~]# yum -y install libguestfs-tools #安装工具包
      
    4)未登录的情况下,查看镜像目录
    [root@localhost ~]# virt-ls centos.img /home #查看centos.img镜像文件中/home目录
    tank
      
    5)未登录的情况下,将镜像文件中的文件copy出来
    [root@localhost ~]# virsh list --all #查看所有的虚拟机名称
    Id 名称 状态
    ----------------------------------------------------
    1 centos1 running
    2 centos6.5 running
    - arch 关闭
    - arch1 关闭
    - arch2 关闭
    - arch3 关闭
    - arch5 关闭
    - centos3 关闭
    - ubuntu 关闭
    - ubuntu1 关闭
    [root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp          #将centos1中的文件copy到tmp下面
      
    6)查看虚拟机的分区情况
    [root@localhost ~]# virt-filesystems -d centos1
    /dev/sda1
    /dev/VolGroup/lv_root
    [root@localhost ~]# virt-list-partitions /root/centos.img
    /dev/sda1
    /dev/sda2
    [root@localhost ~]# virt-df centos.img
    Filesystem 1K-blocks Used Available Use%
    centos.img:/dev/sda1 495844 34510 435734 7%
    centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33%
      
    7)mount虚拟机
    [root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb
    [root@localhost ~]# cd /mnt/usb/
    [root@localhost usb]# ls
    bin dev home lib64 media mnt opt root selinux sys usr
    boot etc lib lost+found misc net proc sbin srv tmp var
      
    8)修改kvm中虚拟机的内存大小
    [root@nfs ~]# virsh edit vm01 ##注意vi直接编辑不生效
    vm01
    df8604c1-dcf3-fa98-420f-6eea7b39c395
    1048576 ###本来开始设置为1G,现在这个单位是k
    1048576
      
    修改为1.5G
    [root@nfs ~]# expr 1536 * 1024
    1572864</p> <p>[root@nfs ~]# virsh list
    Id Name State
    ----------------------------------
    1 win2003 running
    3 vm01 running
     
    [root@nfs ~]# virsh shutdown vm01         ###修改配置文件后需要重新启动下虚拟机,先关闭它
    Domain vm01 is being shutdown
    >[root@nfs ~]# virsh list                 ###确认已经被关闭
    Id Name State
    ----------------------------------
    1 win2003 running
     
    [root@nfs ~]# virsh start vm01 ###启动它
    Domain vm01 started
     
    [root@nfs ~]# virsh list
    Id Name State
    ----------------------------------
    1 win2003 running
    3 vm01 running
      
    到机器上查看内存大小:
    [root@vm01 liuxiaojie]# free -m
    total used free shared buffers cached
    Mem: 1505 618 886 0 29 361
    -/+ buffers/cache: 227 1277
    Swap: 2000 0 2000
      
    9)删除一个虚拟机(vm01),可以删除一个状态为“shut off”的虚拟机
    [root@nfs qemu]# virsh undefine vm01
    [root@nfs qemu]# rm -f /home/data/vm01.img
      
    10)删除一个域
    [root@nfs web01]# virsh list --all
    Id Name State
    ----------------------------------
    1 web01 running ##处于工作状态
    - myweb01 shut off
    - myweb03 shut off
    - mywin2003 shut off
    - myxp shut off
    - xp shut off
    [root@nfs web01]# virsh undefine web01 ##处于工作状态也能删除!
    Domain web01 has been undefined
    [root@nfs web01]# virsh list
    Id Name State
    ----------------------------------
    1 web01 running
    [root@nfs web01]# virsh destroy web01
    Domain web01 destroyed
    [root@nfs web01]# virsh list --all ##web01已经没有了!
    Id Name State
    ----------------------------------
    - myweb01 shut off
    - myweb03 shut off
    - mywin2003 shut off
    - myxp shut off
    - xp shut off
    [root@nfs web01]# virsh define web01
    error: Failed to open file 'web01': No such file or directory
      
    -------------------------------------------virsh相关命令-------------------------------------------
    1)安装libvirt
    #yum install kvm virt-* libvirt
    2)检查是否安装成功
    #lsmod |grep kvm
    3)相关命令
    #virsh -c qemu:#/system list
    #virsh list
    #virsh list --all                  #查看所有状态的虚拟机
    #virsh shutdown myWin7             #关闭myWin7虚拟机
    #virsh destroy myWin7          #删除myWin7虚拟机
    #virsh start node4                     #开机虚拟机
    #virsh define /etc/libvirt/qemu/node5.xml        #根据主机配置文档添加虚拟机
    #virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml      #将node4虚机的配置文件保存至node6.xml
    #virsh edit node6             #修改node6的配置文件
    #virsh suspend vm_name          #暂停虚拟机
    #virsh resume vm_name          #恢复虚拟机
    4)vm配置文件路径
    /etc/libvirtd/qemu/***.xml 可以通过vim对配置文件进行管理,编辑后需要#service libvirtd restart(不会对现有VM有影响。)
    bingo!!!
  • 相关阅读:
    使div浮动层显示在Select组件上面
    JS中,执行字符串的函数
    如何让Web自定义控件(WebCustomControl)能够被 验证控件 验证
    WIN 2003 中 IIS MIME 问题,导致FLV无法播放
    Response.ContentType的所有類型
    XPath语法
    如何加快页面加载速度
    网页页面实现自动刷新的3种代码
    div 内table 居中
    C#中调用Windows API的要点
  • 原文地址:https://www.cnblogs.com/jians/p/12119759.html
Copyright © 2011-2022 走看看