Proxmox VE是一个系统,专门用作管理虚拟机
http://pve.proxmox.com/wiki/Downloads
https://pve.proxmox.com/wiki/Category:HOWTO

安装
    iso安装,就像安装ubuntu系统
        1,install
        2, 接下来是一个协议,选择我同意,然后下一步。
        3, 填写root密码和管理员的联络邮箱
        4, 填写主机名和本机网络,IP信息    
            (!!主机名开头不能相同,在做集群的时候会加不进去节点)
            例:master.pev
                worker01.pev
                worker02.pev
            系统启动后,系统会用第一个.之前作为主机名,如果相同,可能会发生冲突导致加不到集群节点
        5, 安装完成reboot
        
访问: 
    https://192.168.20.15:8006 到达登陆页面,使用root和密码登陆,可选择中文
    也可以採用文字模式的 ssh 登入 proxmox 主機、 以 debian 的指令管理系統、 以 vzctl 指令管理 OpenVZ container

创建VM
    就是普通的虚拟机,下载的ISO文件放入服务器/var/lib/vz/template/iso目录
创建CT
    ct就是利用openvz虚拟技术创建的虚拟机,系统模板可以到OpenVZ官网去下载,以tar.gz后缀,放入服务器/var/lib/vz/template/cache目录
    opvenvz
        是基于Linux内核的虚拟化技术
    
运行 pveversion -v 命令以检查各种软件包的版本

qm    虚拟机管理命令
    https://pve.proxmox.com/wiki/Manual:_qm
    qm list 虚拟机列表
    qm clone <vmid> <newid> [OPTIONS]  克隆
        -description string
        -format    (qcow2 | raw | vmdk)
        -full      boolean   (default=0)  完全克隆
        -name      string  名字
        -snapname  string  
    qm config <vmid> [OPTIONS]  获取配置文件
        -current   boolean   (default=0)  当前的
    qm destroy <vmid> [OPTIONS]  摧毁
        -skiplock  boolean  强制
    qm delsnapshot <vmid> <snapshotname> [OPTIONS]  删除快照
        -force     boolean 强制
    qm resize <vmid> <disk> <size> [OPTIONS]  硬盘扩容
    qm rollback <vmid> <snapname>  回滚
    qm unlock <vmid> 解锁
    qm set <vmid> [OPTIONS] 设置
        -autostart boolean   (default=0)  崩溃后自动启动
        -onboot    boolean   (default=0) 主机开机启动(0是不启动)
        -kvm      boolean   (default=1) 支持kvm虚拟化
        -lock      (backup | migrate | rollback | snapshot)  锁定不能做(备份|迁移|回滚|快照)
        -protection boolean  (default=0)  设置保护,预防remove此虚拟机
        -reboot    boolean   (default=1)  设置为0重启
        -skiplock  boolean  强制(Ignore locks on root)
        -serial[n] (/dev/.+|socket) 增加serial登陆方式
    qm migrate vmid nodename
        迁移机器
        -online
        -force
    qm shutdown <vmid> [OPTIONS]
        -forceStop boolean   (default=0) 确保关闭
        -skiplock  boolean
        -timeout   integer (0 - N)
    qm snapshot <vmid> <snapname> [OPTIONS]  做快照
        -description string  描述
        -vmstate   boolean 保存vm描述
    qm start <vmid> [OPTIONS]
        -skiplock  boolean
    qm stop <vmid> [OPTIONS]
        -skiplock  boolean
    qm suspend <vmid> [OPTIONS]  暂停虚拟机
        -skiplock  boolean
    qm status <vmid> [OPTIONS]
        -verbose   boolean  详细输出
    qm terminal <vmid> [OPTIONS]  
    qm monitor <vmid>  进入监示器接口
    qm wait <vmid> [OPTIONS] 等待vm停止
    
    
利用serial登陆
    https://pve.proxmox.com/wiki/Serial_Terminal
    vi /etc/pve/qemu-server/101.conf  101是虚拟机的序号(qm list),增加:seria[0-3]
        [PENDING]
            serial0: socket
        或者在主机上用命令增加
            qm set 101 -serial0 socket
    reboot
    dmesg | grep ttyS
        [    0.457814] 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    vi /etc/default/grub
        GRUB_CMDLINE_LINUX="quiet console=tty0 console=ttyS0"
    更新grub
        # debian based
        update-grub
        # redhat based
        grub2-mkconfig --output=/boot/grub2/grub.cfg
    登陆
        qm terminal <VMiD> 

        ***没验证***    
刪除 Proxmox VE Cluster 設定
    记住要先备份
    確認所有node皆移除cluster
    master 及各個node 執行以下指令:
    1.停止 cluster sync 服務
        /etc/init.d/pvemirror stop
    2.停止 tunnel service 服務
        /etc/init.d/pvetunnel stop
    3.刪除 cluster 設定檔
        rm /etc/pve/cluster.cfg
        rm -rf /etc/pve/master
    4.刪除相關的ssh設定內容
        rm /root/.ssh/known_hosts
        ***没验证***
集群:
    在A服务器上创建名字叫master的集群(主节点)
        pvecm create master
        在这里我做了在hosts里加入B服务器的hosts映射
    在B服务器上加入master节点
        pvecm add 192.168.20.20
    查看集群的状态
        pvecm nodes
        pvecm status
    造成無法加入集叢的原因有兩個:
        1,節點自身已經隸屬於某一集叢
        2,新的集叢本身已經有該節點的資料
    增加节点(先删除才能增加):
        记住要先备份删除的数据,后路!!!!
        先在集群上操作:
            先要删除节点上的kvm虚拟机
            pvecm delnode nodename
            如果提示:cluster not ready - no quorum?
                执行:pvecm e 1   #告知只有一个节点在线
        后登陆节点操作:
            先删除(这里把所有的节点信息都删掉了):
                /etc/init.d/pve-cluster stop
                rm -rf /etc/corosync/*
                rm -rf /var/lib/pve-cluster/*
                rm -rf /var/lib/corosync/*
                reboot
            启动后登陆节点添加
                pvecm add 集群名
            
    删除集群:
        /etc/init.d/pve-cluster stop
        rm -rf /etc/corosync/*
        rm -rf /var/lib/pve-cluster/*
        rm -rf /var/lib/corosync/*
        /etc/init.d/pve-cluster start
ha
    2.0版本的配置
        http://www.anjing.me/1417.html
        http://my.oschina.net/kisops/blog/161599
    4.x版本ha很简单
        在ha界面把机器加进来,但是机器要安装在共享存储上面,
共享存储
    ceph
        在pve web界面添加rbd storage
            ID为自定义
            pool 就是一个逻辑卷
            mon host 监控器服务器,只能用ip,多个用,相隔
            username 默认admin ,没搞懂这个哪个用户
            KRBD  如果是虚拟机(lxc,kvm)用,勾上这个,不然会报failed: exit code 1
        添加后以下文件会有变化
        cat /etc/pve/storage.cfg
            rbd: ceph #ID
            monhost 192.168.20.151,192.168.20.152,192.168.20.154 
            content images  #存储文件类型
            pool rbd 
            username admin
            krbd
            nodes base03,base02
        添加认证
            mkdir /etc/pve/priv/ceph
            scp xx@xx:xx/ceph.client.admin.keyring ./
            更改ceph.client.admin.keyring的名字,改为:ID+.keyring
                例创建一个ID是ceph的storage ,文件命名为ceph.keyring
        到些界面上就可以看到这个storage的一些状态了
更换网络环境(换ip)
    vi /etc/network/interfaces
    vi /etc/hosts
    > .ss/know_hosts
    vi /var/lib/pve-cluster/config.db (重要)
    查看 /etc/pve/corosync.conf是正确的
        
文件
    /etc/pve/corosync.conf  记录各节点的信息,如果不属于某个节点,不会有这个文件
        nodelist
            这里是真正的节点联合节点信息
            有时候pvecm node命令输出的信息不对,就要看这里,pvecm node的信息如果没有更新,目前只有重启解决
    /etc/pve/node/**  下面是全节点的一些文件,pve-ssl.key是认证文件,没有这个文件会登陆不上web界面或者集群无法操作这个节点
    /etc/pve/authkey.pub  这个是密钥文件,每个节点上都和集群的服务器文件内容一样
    /etc/pve/storage.cfg  存储设备记录文件

错误:
    刚创建启动虚拟机安装的时候提示:
        Proxmox Error: start failed: command '/usr/bin/kvm 
        解决把kvm虚拟化去掉:Proxmox>Options> KVM hardware virtualization = No
    加入集群提示authentication key already exists
        可用pvecm add 192.168.20.20 -force   -force强制覆盖加入节点,然后/etc/init.d/pve-cluster restart

03-16 07:08