基于命令行进行kvm虚拟机安装和管理,添加NVC实现可视化

26人阅读 评论(0) 收藏 举报
分类:

经过kvm的安装接下来要安装操作系统

  • 首先上传要安装系统的镜像到Linux母机上

    采用ftp的方式,已经上传镜像到Linux下/var/ftp/pub文件夹

  • 创建一个路径进行存放kvm虚拟机:

    mkdir -p /opt/kvm
    -这里我们采用命令行的方式进行安装,命令如下:

    virt-install --name gitlab --ram 2048 --vcpus=1 --disk/opt/kvm/gitlabt=qcow2,size=100,  --network bridge=br0 --os-type=linux --cdrom=/opt/is --graphic vnc,listen=0.0.0.0,port=5910 -v --os-variant=rhel7.4

    virt-install [参数说明]

    一般选项:

-n NAME, --name=NAME:虚拟机名称,需全局惟一; 

-r MEMORY, --ram=MEMORY:虚拟机内在大小,单位为MB
--vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#]:VCPU个数及相关配置;

 --cpu=CPUCPU模式及特性,如coreduo等;可以使用qemu-kvm -cpu ?来获取支持的CPU模式;

-c CDROM, --cdrom=CDROM:光盘安装介质;

 -l LOCATION, --location=LOCATION:安装源URL,支持FTPHTTPNFS等,如ftp://172.16.0.1/pub
--pxe:基于PXE完成安装; --livecd: 把光盘当作LiveCD
--os-type=DISTRO_TYPE:操作系统类型,如Linux、unix或windows等; 

--os-variant=DISTRO_VARIANT:某类型操作系统的变体,如rhel5、fedora8等; 

-x EXTRA, --extra-args=EXTRA:根据--location指定的方式安装GuestOS时,用于传递给内核的额外选项,例如指定kickstart文件的位置,

--extra-args "ks=http://172.16.0.1/class.cfg" 

--boot=BOOTOPTS:指定安装过程完成后的配置选项,如指定引导设备次序、使用指定的而非安装的kernel/initrd来引导系统启动等 ;例如: --boot cdrom,hd,network:指定引导次序; 

--boot kernel=KERNEL,initrd=INITRD,kernel_args=”console=/dev/ttyS0”:指定启动系统的内核及initrd文件;

硬盘:

--disk=DISKOPTS:指定存储设备及其属性;格式为--disk /some/storage/path,opt1=val1,opt2=val2等;
常用的选项有: 
    device:设备类型,如cdrom、disk或floppy等,默认为disk; 
    bus:磁盘总结类型,其值可以为ide、scsi、usb、virtio或xen; 
    perms:访问权限,如rw、ro或sh(共享的可读写),默认为rw; 
    size:新建磁盘映像的大小,单位为GB; 
    cache:缓存模型,其值有none、writethrouth(缓存读)及writeback(缓存读写); 
    format:磁盘映像格式,如raw、qcow2、vmdk等; 
    sparse:磁盘映像使用稀疏格式,即不立即分配指定大小的空间; 
--nodisks:不使用本地磁盘,在LiveCD模式中常用;

网络:

-w NETWORK, --network=NETWORK,opt1=val1,opt2=val2:将虚拟机连入宿主机的网络中,其中NETWORK可以为: 
    bridge=BRIDGE:连接至名为“BRIDEG”的桥设备; 
    network=NAME:连接至名为“NAME”的网络;

虚拟化:

-v, --hvm:当物理机同时支持完全虚拟化和半虚拟化时,指定使用完全虚拟化;

 -p, --paravirt:指定使用半虚拟化;

 --virt-type:使用的hypervisor,如kvm、qemu、xen等;所有可用值可以使用’virsh capabilities’命令获取;
图像

--graphics TYPE,opt1=val1,opt2=val2:指定图形显示相关的配置,此选项不会配置任何显示硬件(如显卡),而是仅指定虚拟机启动后对其进行访问的接口; 

TYPE:指定显示类型,可以为vnc、sdl、spice或none等,默认为vnc; 

    port:TYPE为vnc或spice时其监听的端口; 
    listen:TYPE为vnc或spice时所监听的IP地址,默认为127.0.0.1,可以通过修改/etc/libvirt/qemu.conf定义新的默认值;

    password:TYPE为vnc或spice时,为远程访问监听的服务进指定认证密码; --noautoconsole:禁止自动连接至虚拟机的控制台;

安装完成后可以通过virsh-list命令进行查看安装的虚拟机列表

virt-clone -o gitlab -n centos7 -f /opt/kvm/centos7.img

通过这条命令可以克隆虚拟机

virsh[参数说明]

virsh命令进行管理kvm虚拟机:

virsh 有命令模式和交互模式如果直接在vrish后面添加参数是命令模式,如果直接写virsh,就会进入交互模式

  • virsh list
    列出所有的虚拟机,虚拟机的状态有(8)种
    runing 是运行状态
    idel 是空闲状态
    pause 暂停状态
    shutdown 关闭状态
    crash 虚拟机崩坏状态
    daying 垂死状态
    shut off 不运行完全关闭
    pmsuspended客户机被关掉电源中中断
  • 连接实例
    qemu:///session (本地连接到个人实例)
    qemu+unix:///session (本地连接到个人实例)
    qemu:///system (本地连接到系统实例)
    qemu+nuix:///system(本地连接到系统实例)
    qemu://example.com/system(远程连接,TLS)
    qemu+tcp://example.com/system(远程登录,SASI)
    qemu+ssl://example.com/system(远程登录,ssl)

  • -v
    是只显示版本号

  • -V
    使显示版本的详细信息
  • -c - -connect 连接远程的主机
  • -l - -log 输出日志
  • -q - -quiet避免额外的信息
  • -r - - readonly 只读,一般和connect配合使用
  • -t - - timing 输出消逝的时间
  • -e - - escape 设置转意序列

交互模式

*quit,exit是离开virsh
*version 是显示版本
*cd 进入目录
*pwd 打印当前路径
*connect URI连接
一般有下列几种

xen:/// 连接当地的xem虚拟机
qemu:///system (以root的身份)连接当地的qemu和kvm虚拟机
qemu;///sessoin 以用户的身份连接当地的qemu和kvm
lxc:///session 连接当地的linux容器

*hostname 得到主机名字
*sysinfo 的到虚拟机系统的详细信息,xml打印出来
*nodeinfo得到电脑详细配置名字
*nodecpustats 的到虚拟cpu 的状态
*nodemenstats 的内存的详细信息
*nodesuspend 延缓打印的时间最大为60 seconds
*node-memory-tune 允许你设置node的内存参数
*capablilities 打印虚拟机的特点
*inject-nmi 给客户机注射nmi(不可屏蔽中断)
*list列出所有的虚拟机(可以加参数)
*freecell 打印出虚拟I机中可用的内存

DOMAIN Commands

*autostart (domain):标示自动启动虚拟机
*console (domain):连接虚拟机的控制台
*create (file):从文件创建虚拟机

virsh dumpxml domain.xml
virsh create domain.xml

*define (file)定义一个虚拟机从文件中
*desc (domain)显示虚拟机的描述信息
*destory(domain) 销毁虚拟机
*dommemstat(domain) 得到虚拟机运行的内存
*domblkerror (domain) 显示有错的设备
*domblkerror(domian)显示有错 的磁盘
*domblklist(domain)显示虚拟机的磁盘
*domiflist(domain)显示网卡接口
*domifstat(demo vnet0) 显示网卡信息
*domdisplay (demo)输出地址 和显卡
*dominfo(demo)显示虚拟机的信息
*domuuid (demo)显示虚拟机的id
*domid(id or name ) 根据名字得到id
* domjobabort (demo)种植虚拟机的当前任务
* dojobinfo (demo) 显示虚拟机的任务
* domstat (demo) 显示虚拟机的状态
* domcontrol(demo) 返回虚拟机的状态ok or error
* dump (demo file) 把文件配置输出到文件file
* dumpxml(demo)直接显示demo的xml文件配置
* edit (demo) 编辑主机的配置文件
* messagedsave(demo) 虚拟机的信息保存
* messagedsave-remove(demo) 移除保存的messagedsave
*cpu-stats (demo) 虚拟机的cpu状态
*screenshot (demo) 虚拟机截屏
*setmen(demo) size 设置虚拟机的内存
*setmaxmen(demo)设置虚拟机的最大内存
*memtune(demo) 得到虚拟机分区的信息
*blkiotune(demo) 得到虚拟机的磁盘信息
*setvcpus(demo count)设置虚拟机的虚拟cpu个数
*shutdown(demo) 关闭虚拟机
*start(name or id) 开启虚拟机
*suspend (demo) 挂起虚拟机
*resume(demo) 回复虚拟机的suspend状态
*dompmwakeup(demo)唤醒挂起的demo
*ttyconsole (demo) 输出设备用的终端
*vcpucount (demo) 设置cpu个数
*vcpuinfo(demo) 得到cpu的信息
*vncdisplay(demo) 显示虚拟机的ip

device commands(设备命令)

*attach-device (demo file)添加设备从file文件中
*attach-interface (demo type source )添加一个接口
*update-device(demo file)更新设备根据file

virtual network commadns

*net-autostart (network) 自动启动网卡(default)
*net-create (file) 把配置加载到文件
*net-destory ( network )关闭网卡
*net-dumpxml(default) 把网卡配置加载到文件
*net-edit(default) 编辑网卡信息
*net-info(default) 网卡信息
*net-list 显示网卡
*net-uuid (default)得到网卡的id
*net-name(id)得到网卡的名字
*net-start (default)开启网卡

Interface commands

*iface-define(file)定义一个接口从文件里面
*iface-dumpxml (lo)显示接口I的信息
*iface-edit(lo) 编辑接口
*iface-list 列出所有的接口
*iface-name (mac) 根据mac得到名字
*iface-mac(lo) 根据名字得到mac
*iface-start(lo) 开启接口
*iface-unbriged 解绑定 网桥
*iface-undefine(lo) 不定义配置文件
*iface-begin(lo)创建一个现有的接口设置
*iface-commit 提交生命所有的改变有效,并且让接口工作
*iface-rollbak 接口回滚

STORAGE pppl commands

*pool-auto (pool)标记池自动启动
*pool-build(pool)建造一个池
*pool-create(file)根据文件创建池
*pool-define(file)定义但是不开启
*pool-destory(pool)销毁池,以后能回复
*pool-delete(pool)删除池,以后不能恢复
*pool-dumpxml(pool)查看池的定义文件
*pool-edit(pool)编辑池的定义文件
*pool-info池的信息
*pool-list的列表
*pool-name(id)根据id得到name
*pool-id(name)根据name得到id
*pool-start(poop)开启池
*pool-uuid (pool) 返回一个池的uuid

VOLUME commads

*vol-delete(pool)卷的删除
*vol-upload(pool) 卷的加载
*vol-list(pool)列出卷
*vol-info(default)卷的信息
*vol-name(path)得到卷的名字

(快照)(secret)

NWFILTER commands

*nwfilter-define (file)根据文件生成一个网络过滤器
*nwfilter-undefine(name) 删除网络过滤
*nwfilter-list 列出来网络过滤
*nwfilter-dumpxml(file)生成一个网络过滤的文件
*nwfilter-edit(name) 编辑一个网络过滤器

为了方便管理给母机添加桌面环境并安装vnc实现远程连接

yum -y groupinstall "X Window System"  #安装X window
yum -y groupinstall "GNOME Desktop"    #安装gnome桌面
yum -y install tigervnc-server         #安装vncserver
vncserver :1                           #开启vncserver服务

vnc默认端口是5901,如果开启第二个vnc连接,执行vncserver :2

查看评论

组合查询

用PB进行数据库应用系统开发时,我们经常要对大量的数据进行筛选、查询,得到符合要求的记录,这就需要用到组合条件查询功能。我在作应用系统开发时,就自己编写了一个简单而又实用的组合条件查询模板窗口,只要用...
  • xingjiaren
  • xingjiaren
  • 2001-04-10 14:22:00
  • 728

libvirtd的nwfilter功能丢失no-mac-spoofing报错分析

1、查看虚机的宿主机/var/log/nova/nova-compute.log 显示libvirtError: internal error: referenced filter 'no-mac-...
  • u010855924
  • u010855924
  • 2017-02-23 21:15:14
  • 172

Kvm、Xen虚拟机集中管理平台--convirt

本文目录本文目录 背景 环境 CMS部署 MS部署ConVirt 是一个直观的、图形化的虚拟机管理工具,可以对虚拟机的整个生命周期进行管理。 本文主要以管理KVM虚拟机为例,话不多说,先上几张部署完...
  • Csdn_Yumi
  • Csdn_Yumi
  • 2016-04-20 15:11:10
  • 5329

用命令行管理KVM虚拟机 图文演示

  • 2015年07月08日 12:28
  • 1MB
  • 下载

如何在Linux中用命令行工具管理KVM虚拟环境

第一步: 配置存储池 Virsh命令行工具是一款管理virsh客户域的用户界面,它能在命令行中运行所给的命令以及它的参数,我们要用它给我们的KVM环境创建存储池,想知道关于这个工具的更多信息,用以下这...
  • linuxnews
  • linuxnews
  • 2016-03-31 14:49:55
  • 1582

kvm上安装xp

主要为了看看图像显示是否有问题,跑起来系能如何,网络连接、文件共享是怎样的。 用的是雨林木风xp sp3的iso。为了提高性能,决定使用qcow2格式,预分配metadata,cache=none(查...
  • jollyjumper
  • jollyjumper
  • 2013-10-12 23:29:33
  • 3945

命令行管理kvm

  • 2017年05月13日 18:58
  • 1.17MB
  • 下载

基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具

KVM能基于WEB管理吧?有没有开源的?基于WEB创建,修改,动态迁移 能够管理KVM的工具太多啦。首先是单个资源的基础虚拟化管理,有开源的虚拟化工具集libvirt,通过命令行接口提供安全...
  • English0523
  • English0523
  • 2016-06-14 10:59:03
  • 10838

vnc虚拟机安装 kvm虚拟机安装工具

  • 2011年09月30日 11:59
  • 5.72MB
  • 下载

ubuntu14.04部署KVM web管理工具--webvirtmgr

ubuntu14.04部署webvirtmgr 这篇文章主要记录本人在部署webvirtmgr的过程
  • changqingyu555
  • changqingyu555
  • 2016-11-28 11:17:12
  • 564
    个人资料
    等级:
    访问量: 1万+
    积分: 214
    排名: 34万+
    最新评论