Fork me on GitHub
Suzf  Blog

[faq] Couchbase cant start because of the ip addr nightmare

许久之前,再次打开在本地 VM 创建的 Couchbase 有些异常 服务无法正常运行 查看日志,如下:
# /opt/couchbase/var/lib/couchbase/logs/info.log
[ns_server:warn,2016-08-15T13:47:59.536+08:00,nonode@nohost:dist_manager<0.129.0>:dist_manager:wait_for_address:121]Cannot listen on address `cb1.suzf.net`: eaddrnotavail
[ns_server:info,2016-08-15T13:47:59.536+08:00,nonode@nohost:dist_manag...
                
            

KVM 网络管理

KVM 客户机网络连接有两种方式,:
用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。

注意:kvm安装后的默认是NAT方式,网桥方式需要手动配置

NAT方式

Bridge方式
Bridge方式原理

KVM 在线迁移

在线迁移(Online Migration)也叫动态迁移(Live Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。该过程不会对最终用户造成明显的影响,从而使得管理员能够在不影响用户正常使用的情况下,对物理服务器进行离线维修或者升级。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。动态迁移适用于对虚拟机服务可用性要求很高的场合。 Read more

KVM 快照管理

本文节选自 http://wiki.ubuntu.org.cn/KVM虚拟机管理

*** 建议不要在开机状态下创建快照 ***
确认虚拟机镜像文件格式

qemu-img info centos1.img

RAW格式是最原始的镜像格式,好处是速度快,但不支持很多新的功能,raw格式不具备快照功能。现在qcow2格式效率有很大提升了,而且还支持一些新的功能

更小的存储空间,即使是不支持holes的文件系统也可以(这下du -h和ls -lh看到的就一样了)
Copy-on-write support, where the image only represents changes made to an underlying disk image(这个特性SUN ZFS...

KVM 主机克隆

*** 克隆必须为关闭或者暂停状态下进行 ***

1. virt-clone

virt-clone -o hello_kvm -n hello_world -f /opt/data/kvm/images/hello_kitty.img

-o ORIGINAL_GUEST, --original=ORIGINAL_GUEST    原始客体的名称
-n NEW_NAME, --name=NEW_NAME                    新客户端的名称
-f NEW...

KVM 磁盘管理

获取磁盘信息
# qemu-img  info /opt/data/kvm/images/hello_kvm.img
image: /opt/data/kvm/images/hello_kvm.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.1G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
创建磁盘镜像文件
# qemu-img create -f qc...
                
            

KVM console 配置

*** All os system is CentOS7 *** 通过 vnc 等软件 控制虚拟机及难免显得有些麻烦。 使用 virsh console 来进行登录来管理无疑是个不错的选择。 KVM HOST 虚拟机XML文件 默认已经支持 无需修改, 如果没有请手动添加

    [[email protected] ~]# grep -A 2 -n  pty /etc/libvirt/qemu/hello_kvm.xml
    88:    <serial type='pty'>
    89-      <target port='0'/>
    90-    </serial>
    91:    &...
                
            

KVM 虚拟机安装

两种方式:

virt-manager
virt-install

virt-manager
virt-manager 是基于 libvirt 的图像化虚拟机管理软件,请注意不同的发行版上 virt-manager 的版本可能不同,图形界面和操作方法也可能不同。创建KVM虚拟机最简单的方法是通过virt-manager接口。

1. 需要对localhost进行连接配置
2. 对虚拟网络进行配置,默认为nat方式的“default”,可以新添加网桥方式,也可以使用btctl创建
3. 创建或添加存储,可以是逻辑卷,也可以硬盘文件 Read more

KVM 虚拟机管理

常用 virsh 命令
# virsh help
# virsh version

显示所有虚拟机
# virsh list --all

获取 domain ID
# virsh domid {domain-name or domain-uuid}

获取 domain name
# virsh domname {domain-id or domain-uuid}

获取 UUID
# virsh domuuid {domain-id or domain-name}

获取 虚拟机信息
# virsh dominfo {domain-id, domain-name or domain...