首页
About Me
推荐
weibo
github
Search
1
linuxea:gitlab-ci之docker镜像质量品质报告
49,451 阅读
2
linuxea:如何复现查看docker run参数命令
23,046 阅读
3
Graylog收集文件日志实例
18,582 阅读
4
linuxea:jenkins+pipeline+gitlab+ansible快速安装配置(1)
18,275 阅读
5
git+jenkins发布和回滚示例
18,181 阅读
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
登录
Search
标签搜索
kubernetes
docker
zabbix
Golang
mariadb
持续集成工具
白话容器
elk
linux基础
nginx
dockerfile
Gitlab-ci/cd
最后的净土
基础命令
gitops
jenkins
docker-compose
Istio
haproxy
saltstack
marksugar
累计撰写
690
篇文章
累计收到
139
条评论
首页
栏目
ops
Openvpn
Sys Basics
rsync
Mail
NFS
Other
Network
HeartBeat
server 08
Code
Awk
Shell
Python
Golang
virtualization
KVM
Docker
openstack
Xen
kubernetes
kubernetes-cni
Service Mesh
Data
Mariadb
PostgreSQL
MongoDB
Redis
MQ
Ceph
TimescaleDB
kafka
surveillance system
zabbix
ELK Stack/logs
Open-Falcon
Prometheus
victoriaMetrics
Web
apache
Tomcat
Nginx
自动化
Puppet
Ansible
saltstack
Proxy
HAproxy
Lvs
varnish
更多
互联咨询
最后的净土
软件交付
持续集成
gitops
devops
页面
About Me
推荐
weibo
github
搜索到
4
篇与
的结果
2015-12-03
如何在宿主机上查询虚拟机的ip
如何在宿主机上查询虚拟机的ip1) virsh dumpxml 虚拟机名字<interface type='bridge'> <mac address='52:54:00:89:58:9d'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='e1000'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> 看下虚拟机的mac地址,2) 然后在宿主机上arp -aarp -a ? (192.168.0.1) at 00:0f:e2:d4:f5:33 [ether] on br0 ? (192.168.0.161) at 00:e0:81:d5:5f:c7 [ether] on br0 看下mac和ip的对应表,如果没有的,写一个脚本,把同一个网段所有机器ping一遍。在arp -a#!/bin/bash for (( i=0; i<254;i++)) do { ping 192.168.0.$i -c 1 }& done
2015年12月03日
5,029 阅读
0 评论
0 点赞
2015-12-02
virt-install创建kVM参数
virt-install使用!使用virt-install创建虚拟机并安装GuestOSvirt-install是一个命令行工具,它能够为KVM、Xen或其它支持libvrit API的hypervisor创建虚拟机并完成GuestOS安装;此外,它能够基于串行控制台、VNC或SDL支持文本或图形安装界面。安装过程可以使用本地的安装介质如CDROM,也可以通过网络方式如NFS、HTTP或FTP服务实现。对于通过网络安装的方式,virt-install可以自动加载必要的文件以启动安装过程而无须额外提供引导工具。当然,virt-install也支持PXE方式的安装过程,也能够直接使用现有的磁盘映像直接启动安装过程。virt-install命令有许多选项,这些选项大体可分为下面几大类,同时对每类中的常用选项也做出简单说明。一般选项:指定虚拟机的名称、内存大小、VCPU个数及特性等; -n NAME, --name=NAME:虚拟机名称,需全局惟一; -r MEMORY, --ram=MEMORY:虚拟机内在大小,单位为MB; --vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#]:VCPU个数及相关配置; --cpu=CPU:CPU模式及特性,如coreduo等;可以使用qemu-kvm -cpu ?来获取支持的CPU模式; 安装方法:指定安装方法、GuestOS类型等; -c CDROM, --cdrom=CDROM:光盘安装介质; -l LOCATION, --location=LOCATION:安装源URL,支持FTP、HTTP及NFS等,如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模式中常用; 网络配置:指定网络接口的网络类型及接口属性如MAC地址、驱动模式等; -w NETWORK, --network=NETWORK,opt1=val1,opt2=val2:将虚拟机连入宿主机的网络中,其中NETWORK可以为: bridge=BRIDGE:连接至名为“BRIDEG”的桥设备; network=NAME:连接至名为“NAME”的网络;其它常用的选项还有:model:GuestOS中看到的网络设备型号,如e1000、rtl8139或virtio等; mac:固定的MAC地址;省略此选项时将使用随机地址,但无论何种方式,对于KVM来说,其前三段必须为52:54:00; --nonetworks:虚拟机不使用网络功能; 图形配置:定义虚拟机显示功能相关的配置,如VNC相关配置; --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:禁止自动连接至虚拟机的控制台; 设备选项:指定文本控制台、声音设备、串行接口、并行接口、显示接口等; --serial=CHAROPTS:附加一个串行设备至当前虚拟机,根据设备类型的不同,可以使用不同的选项,格式为“--serial type,opt1=val1,opt2=val2,...”,例如: --serial pty:创建伪终端; --serial dev,path=HOSTPATH:附加主机设备至此虚拟机; --video=VIDEO:指定显卡设备模型,可用取值为cirrus、vga、qxl或vmvga; 虚拟化平台:虚拟化模型(hvm或paravirt)、模拟的CPU平台类型、模拟的主机类型、hypervisor类型(如kvm、xen或qemu等)以及当前虚拟机的UUID等; -v, --hvm:当物理机同时支持完全虚拟化和半虚拟化时,指定使用完全虚拟化; -p, --paravirt:指定使用半虚拟化; --virt-type:使用的hypervisor,如kvm、qemu、xen等;所有可用值可以使用’virsh capabilities’命令获取; 其它: --autostart:指定虚拟机是否在物理启动后自动启动; --print-xml:如果虚拟机不需要安装过程(--import、--boot),则显示生成的XML而不是创建此虚拟机;默认情况下,此选项仍会创建磁盘映像; --force:禁止命令进入交互式模式,如果有需要回答yes或no选项,则自动回答为yes; --dry-run:执行创建虚拟机的整个过程,但不真正创建虚拟机、改变主机上的设备配置信息及将其创建的需求通知给libvirt; -d, --debug:显示debug信息; 尽管virt-install命令有着类似上述的众多选项,但实际使用中,其必须提供的选项仅包括--name、--ram、--disk(也可是--nodisks)及安装过程相关的选项。此外,有时还需要使用括--connect=CONNCT选项来指定连接至一个非默认的hypervisor。下面这个示例创建一个名为centos的虚拟机,其hypervisor为KVM,内存大小为1024MB,磁盘为8G的映像文件/var/lib/libvirt/images/centos.img,通过boot.iso光盘镜像来引导启动安装过程。#yum -y install python-virinst libvirt #/etc/init.d/libvirtd start 关联br0桥 #virsh iface-bridgee eth0 br0 # virt-install \ --connect qemu:///system \ --virt-type kvm \ --name centos \ --ram 1024 \ --disk path=/var/lib/libvirt/images/centos1.img,size=8 \ --graphics vnc \ --cdrom /tmp/boot.iso \ --os-variant rhel5 下面的示例将创建一个名为rhel6的虚拟机,其有两个虚拟CPU,安装方法为FTP,并指定了ks文件的位置,磁盘映像文件为稀疏格式,连接至物理主机上的名为brnet0的桥接网络:# virt-install \ --connect qemu:///system \ --virt-type kvm \ --name rhel6 \ --ram 1024 \ --vcpus 2 \ --network bridge=brnet0 \ --disk path=/VMs/images/rhel6.img,size=120,sparse \ --location ftp://172.16.0.1/rhel6/dvd \ --extra_args “ks=http://172.16.0.1/rhel6.cfg” \ --os-variant rhel6 \ --force 下面的示例将创建一个名为rhel5.8的虚拟机,磁盘映像文件为稀疏模式的格式为qcow2且总线类型为virtio,安装过程不启动图形界面(--nographics),但会启动一个串行终端将安装过程以字符形式显示在当前文本模式下,虚拟机显卡类型为cirrus:# virt-install \ --connect qemu:///system \ --virt-type kvm \ --name rhel5.8 \ --vcpus 2,maxvcpus=4 \ --ram 512 \ --disk path=/VMs/images/rhel5.8.img,size=120,format=qcow2,bus=virtio,sparse \ --network bridge=brnet0,model=virtio --nographics \ --location ftp://172.16.0.1/pub \ --extra-args "ks=http://172.16.0.1/class.cfg console=ttyS0 serial" \ --os-variant rhel5 \ --force \ --video=cirrus 下面的示例则利用已经存在的磁盘映像文件(已经有安装好的系统)创建一个名为rhel5.8的虚拟机:# virt-install \ --name rhel5.8 --ram 512 --disk /VMs/rhel5.8.img --import 每个虚拟机创建后,其配置信息保存在/etc/libvirt/qemu目录中,文件名与虚拟机相同,格式为XML。virsh uri: 查看当前主机上hypervisor的连接路径; virsh connect: virsh define: 创建一个虚拟机,根据事先定义的xml格式的配置文件;创建以后不会自动启动; virsh create: 创建,创建完成后会自动启动; virsh undefine: 删除 virsh的几个常用命令:创建虚拟机:事先准备好xml格式的配置文件,可以dump其它已运行的虚拟机的;create: 创建并启动;defince: 仅创建删除虚拟机:destroy --> undefine --> delete 相关的各文件; domdisplay:显示虚拟机的URI;vncdisplay: 显示虚拟机的vnc连接地址;virt-install \ --connect qemu:///system \ --virt-type kvm \ --name rhel5.8 \ --vcpus 1,maxvcpus=2 \ --ram 512 \ --disk "path=/VMs/images/rhel5.8.img,size=120,format=qcow2" --network "bridge=br0,model=virtio" \ --nographics \ --location http://172.16.0.1/cobbler/ks_mirror/rhel-5.8-i386/ \ --extra-args "ks=http://172.16.0.1/workstation.cfg console=ttyS0 serial" \ --os-variant rhel5 \ --force \ --video=cirrus
2015年12月02日
5,277 阅读
0 评论
0 点赞
2015-11-26
KVM手动配置安装实践(一)
环境: vmware [root@kvm ~]# yum -y install lsb[root@kvm ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID: CentOSDescription: CentOS release 6.6 (Final)Release: 6.6Codename: Final[root@kvm ~]# 检查是否支持虚拟化检查是否支持虚拟化KVM[root@localhost ~]# egrep '(vmx|svm)' --color=auto /proc/cpuinfoSVM:AMD VMX:intel[root@localhost ~]# grep -E '(vmx|svn)' /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm ida arat epb pln pts dts tpr_shadow vnmi ept vpid[root@kvm ~]# grep -i "kvm" /boot/config-2.6.32-504.el6.x86_64 CONFIG_KVM_CLOCK=yCONFIG_KVM_GUEST=yCONFIG_HAVE_KVM=yCONFIG_HAVE_KVM_IRQCHIP=yCONFIG_HAVE_KVM_EVENTFD=yCONFIG_KVM_APIC_ARCHITECTURE=yCONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=yCONFIG_KVM=mCONFIG_KVM_INTEL=mCONFIG_KVM_AMD=m[root@kvm ~]# modprobe kvm[root@kvm ~]# modprobe kvm_intel[root@kvm ~]# xend libvirt 和kvm的libvirt是有所不用,kvm的源中libvirt是不支持xen,而xen的源中libvirt是支持kvmkvm只能虚拟cpu和内存,kvm无法虚拟io,要使用则需要安装qemu-kvm 1,虚拟网桥[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO=noneNM_CONTROLLED=no ONBOOT=yesTYPE=Bridge IPADDR=10.0.0.10NETMASK=255.255.0.0 GATEWAYY=10.0.0.1 DNS1=8.8.8.8 IPV6INIT=no USERCTL=no[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=noneNM_CONTROLLED=no ONBOOT=yes TYPE=EthernetBRIDGE=br0IPV6INIT=noUSERCTL=no 2,安装epel源[root@kvm ~]# rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel//6/x86_64/epel-release-6-8.noarch.rpm 3,安装包[root@kvm ~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt管理工具: qemu-kvm qemu-kvm-tools 管理工具虚拟机工具:virt-manager其他工具:libvirt 查看网桥[root@kvm ~]# brctl showbridge name bridge id STP enabled interfacesvirbr0 8000.525400d00a9c yes virbr0-nic[root@kvm1 ~]# ================[root@kvm ~]# ln -sv /usr/libexec/qemu-kvm /usr/sbin/ 5,创建一个5G磁盘文件[root@kvm ~]# qemu-img create -f raw /opt/CentOS-6.6-x86_64.raw 5GFormatting '/opt/CentOS-6.6-x86_64.raw', fmt=raw size=5368709120 查看[root@kvm ~]# file /opt/CentOS-6.6-x86_64.raw /opt/CentOS-6.6-x86_64.raw: data查看详细信息[root@kvm ~]# qemu-img info /opt/CentOS-6.6-x86_64.rawimage: /opt/CentOS-6.6-x86_64.rawfile format: rawvirtual size: 5.0G (5368709120 bytes)disk size: 0[root@kvm ~]# 克隆系统(从主机cdrom克隆都服务器)[root@kvm /]# dd if=/dev/cdrom1 of=/opt/CentOS-6.6-x86_64.iso9048064+0 records in9048064+0 records out4632608768 bytes (4.6 GB) copied, 1087.13 s, 4.3 MB/s================virsh list -all 查看当前虚拟机virsh undefine NAME 安装一个虚拟机[root@kvm /]# virt-install --virt-type kvm --name CentOS-6.6-x86_64-Test --ram 512 --cdrom=/opt/CentOS-6.6-x86_64.iso --disk path=/opt/CentOS-6.6-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6/Starting install...Creating domain... | 0 B 00:02 Domain installation still in progress. You can reconnect to the console to complete the installation process.[root@kvm1 /]# =========================virt-install --virt-type kvm 类型--name Centos6.6-x86_64名字--ram 512 分配内粗--cdrom=/opt/CentOS-6.6-x86_64.iso--disk path=/opt/CentOS-6.6-x86_64.raw--network network=default 网卡默认的default--graphics vnc,listen=0.0.0.0 监听地址 --noautoconsole 不打开console --os-type=linux --os-variant=rhel6 系统名称而后通过VNC连接,下一步安装即可! 修改下桥接即可远程连接![root@kvm ~]# virt-manager Xlib: extension "RANDR" missing on display "localhost:11.0".
2015年11月26日
3,363 阅读
0 评论
0 点赞
2015-07-01
虚拟化和虚拟网桥两种实现方法
Linux:QEMN,QEMN由法国天才程序员研发,大小1到2兆。众多虚拟化都不具备IO模拟,它需要结合QEMN来实现 Virtio:澳大利亚天才研发。天才你懂得 虚拟化技术分类: 模拟:PearPC,Bochs,QUMU这三种模拟器 1, 底层硬件,硬件之上运行主机,主机之上运行虚拟化模拟器软件,模拟器可以模拟众多硬件环境,如CPU,IO,内存等 完全虚拟化:也称为nativevirtulization CPU不做模拟,只做分配和管理,但IO等要做模拟,CPu架构和物理cpu架构保持一致 内存也不做模拟。 那么完全虚拟化性能比模拟要高,也不需要BT技术 两种加速方式:BT和HVM 完全虚拟化著名产品:VMware Workstation,VMware Server ,Parallels Desktop ,KVM,xen(HVM) 完全虚拟化和模拟相似,无非就是CPU架构 半虚拟化:Para-virtualization 底层硬件,向上hypevisor,hyper call,在向上内核需要做修改。这里仅仅是CPU虚拟化 半虚拟化实现:XEN,uml(user-mode linux) 虚拟架构和底层架构必须保持一致 OS级别的虚拟化: 底层硬件,向上内核,向上虚拟化管理器,向上个虚拟化用户空间(多个用户空间)和虚拟机管理器 各虚拟机启动十分简单 比较流行的:IDC机房的vps服务,OpenVZ实现,lxc Server containers也是一种实现,FreeBSD jails则是OS级别的虚拟化,但是这还是没有XEN,KVM应用的多,在稳定性上讲 提供虚拟机便是提供虚拟机用户空间,而不是提供虚拟机内核 库虚拟化:wine:只是安装了一个库,运行exe等 应用程序虚拟化:JVM 虚拟化网络: 创建桥接模式: 不支持NetworkManaget 关闭:chkconfig NetworkManaget off [root@zabbix_agent ~]# chkconfigNetworkManager off [root@zabbix_agent ~]# yum -y installbridge-utils 桥的实现是内核,这个只是桥驱动 方法1,修改配置文件 [root@zabbix_agent ~]# cd/etc/sysconfig/network-scripts/ [root@zabbix_agent network-scripts]# ls [root@zabbix_agent network-scripts]# cpifcfg-eth1 ifcfg-br0 这里编辑完成 [root@zabbix_agent ~]# cat/etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes TYPE=Bridge IPADDR=172.16.249.88 NETMASK=255.255.0.0 GATEWAYY=172.16.0.1 DNS1=172.16.0.1 IPV6INIT=no USERCTL=no [root@zabbix_agent~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet BRIDGE=br0 IPV6INIT=no USERCTL=no [root@zabbix_agent ~]# ~ 这就将BR0上关联了eth1 使用brct l show查看当前的桥设备 [root@zabbix_agent ~]# brctl show bridge name bridgeid STP enabled interfaces br0 8000.000c29b53c7d no eth1 [root@zabbix_agent ~]# 打开stp [root@zabbix_agent ~]# brctl stp br0 on [root@zabbix_agent ~]# brctl show bridge name bridgeid STP enabled interfaces br0 8000.000c29b53c7d yes eth1 [root@zabbix_agent ~]# 1, 命令行实现桥(这里设置将会端口远程连接) [root@zabbix_agent ~]# yum list allbridge-utils 创建bro [root@zabbix_agent ~]# brctl addbr br0 Br0现在没有地址使用ifconfig是查看不到的,使用brctl show [root@zabbix_agent ~]# brctl show 添加之前需要将eth1的IP除掉,这里使用ifconfig [root@zabbix_agent ~]#Ifconfig eth1 0 up 而后在开始添加 [root@zabbix_agent ~]#Brctl addif br0 eth1 设置ip [root@zabbix_agent ~]#Brctl addif br0 172.16.249.88/16 up 添加路由 [root@zabbix_agent ~]#Route add default gw 172.16.0.1 删除br0:brctl delbr br0 [root@zabbix_agent ~]# brctl show bridge name bridgeid STP enabled interfaces br0 8000.000c29b53c7d no eth1 [root@zabbix_agent ~]# brctl stp br0 on [root@zabbix_agent ~]# brctl show bridge name bridgeid STP enabled interfaces br0 8000.000c29b53c7d yes eth1 [root@zabbix_agent ~]#
2015年07月01日
4,809 阅读
0 评论
0 点赞