Proxmox – 變更 LXC 虛擬機器的磁碟機大小

在新增 LXC 時,預設的磁碟空間是 8G

登入之後
# pct enter 102
# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      7.8G  588M  6.8G   8% /
none            492K     0  492K   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G  8.2M  2.0G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup[@more@]磁碟空間部分只能增加,無法減少
選擇 LXC 虛擬機器 / Resource / Root Disk / Resize disk

輸入要增加的磁碟空間大小

最後按右上角的 X

改變之後的磁碟空間
# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       15G  590M   14G   5% /
none            492K     0  492K   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G  8.2M  2.0G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup

Proxmox – 目錄

上傳的 ISO 檔存放目錄 /var/lib/vz/template/iso
# ls -l /var/lib/vz/template/iso
-rw——- 1 root root 780476416 Jan 17 14:36 CentOS-Server-7.1.1503-x86_64_20150403.iso
-rw-r–r– 1 root root 155856896 Sep 30 21:42 virtio-win.iso

下載下來的 Templates 樣板檔存放目錄 /var/lib/vz/template/cache
# ls -l /var/lib/vz/template/cache
-rw-r–r– 1 root root 172887417 Dec  7 23:31 archlinux-base_20161207-1_amd64.tar.gz
-rw-r–r– 1 root root 131014872 Dec  7 10:32 centos-6-default_20161207_amd64.tar.xz
-rw-r–r– 1 root root  65763092 Dec  7 10:35 centos-7-default_20161207_amd64.tar.xz
-rw-r–r– 1 root root 197123375 Apr 20  2016 ubuntu-16.04-standard_16.04-1_amd64.tar.gz[@more@]Dump 備份目錄 /var/lib/vz/dump
# ls -l /var/lib/vz/dump
-rw-r–r– 1 root root       598 Jan 20 13:25 vzdump-lxc-101-2017_01_20-13_25_45.log
-rw-r–r– 1 root root 448876806 Jan 20 13:25 vzdump-lxc-101-2017_01_20-13_25_45.tar.lzo

LXC 設定檔目錄 /etc/pve/nodes/pve/lxc
# ls -l /etc/pve/nodes/pve/lxc
-rw-r–r– 1 root www-data 773 Jan 20 13:36 101.conf
-rw-r–r– 1 root www-data 282 Jan 20 13:41 102.conf
-rw-r–r– 1 root www-data 492 Jan 20 14:21 103.conf

/etc/pve/lxc
# ls -l /etc/pve/lxc
lrwxr-xr-x 1 root www-data 0 Jan  1  1970 /etc/pve/lxc -> nodes/pve/lxc/

LXC 目錄 /var/lib/lxc
# ls -l /var/lib/lxc
drwxr-xr-x 3 root root 4096 Jan 20 13:12 101/
drwxr-xr-x 3 root root 4096 Jan 20 13:41 102/
drwxr-xr-x 3 root root 4096 Jan 20 13:54 103/

KVM(qemu) 設定目錄 /etc/pve/nodes/pve/qemu-server
# ls -l /etc/pve/nodes/pve/qemu-server
-rw-r—– 1 root www-data 299 Jan 17 14:39 100.conf

/etc/pve/qemu-server
# ls -l /etc/pve/qemu-server
lrwxr-xr-x 1 root www-data 0 Jan  1  1970 /etc/pve/qemu-server -> nodes/pve/qemu-server/

KVM(qemu) Image 存放目錄 /var/lib/vz/images
# ls -l /var/lib/vz/images
drwxr—– 2 root root 4096 Jan 25 11:52 100/

# ls -l /var/lib/vz/images/100
-rw-r—– 1 root root 34365243392 Jan 25 11:52 vm-100-disk-1.qcow2

Proxmox – 使用指令來控制虛擬機器

KVM(qemu)
開啟
# /usr/sbin/qm start 101
關閉
# /usr/sbin/qm stop 101

更多用法
# qm help
USAGE: qm <COMMAND> [ARGS] [OPTIONS]
       qm agent <vmid> <command>
       qm clone <vmid> <newid> [OPTIONS]
       qm config <vmid> [OPTIONS]
       qm create <vmid> [OPTIONS]
       qm delsnapshot <vmid> <snapname> [OPTIONS]
       qm destroy <vmid> [OPTIONS]
       qm list  [OPTIONS]
       qm listsnapshot <vmid>
       qm migrate <vmid> <target> [OPTIONS]
       qm move_disk <vmid> <disk> <storage> [OPTIONS]
       qm pending <vmid>
       qm reset <vmid> [OPTIONS]
       qm resize <vmid> <disk> <size> [OPTIONS]
       qm resume <vmid> [OPTIONS]
       qm rollback <vmid> <snapname>
       qm sendkey <vmid> <key> [OPTIONS]
       qm set <vmid> [OPTIONS]
       qm shutdown <vmid> [OPTIONS]
       qm snapshot <vmid> <snapname> [OPTIONS]
       qm start <vmid> [OPTIONS]
       qm stop <vmid> [OPTIONS]
       qm suspend <vmid> [OPTIONS]
       qm template <vmid> [OPTIONS]
       qm unlink <vmid> -idlist <string> [OPTIONS]

       qm monitor <vmid>
       qm mtunnel
       qm rescan  [OPTIONS]
       qm showcmd <vmid>
       qm status <vmid> [OPTIONS]
       qm terminal <vmid> [OPTIONS]
       qm unlock <vmid>
       qm vncproxy <vmid>
       qm wait <vmid> [OPTIONS]

       qm help [<cmd>] [OPTIONS]
[@more@]
LXC(Linux Container)
開啟
# /usr/bin/lxc-start -n 102
# /usr/sbin/pct start 102
關閉
# /usr/bin/lxc-stop -n 102
# /usr/sbin/pct stop 102

連線到 LXC
# /usr/sbin/pct enter 102
退出
# exit

查看設定檔
# pct config 100
arch: amd64
cores: 1
description: onboot%3A 1%0A
hostname: NPC111
memory: 512
net0: name=eth0,bridge=vmbr0,gw=192.168.1.254,hwaddr=FA:8E:DE:CF:AF:35,ip=192.168.1.111/24,ip6=dhcp,type=veth
ostype: centos
rootfs: S500G:100/vm-100-NPC111-disk-1.raw,size=8G
swap: 512

刪除 LXC (注意不會做任何提示)
# pct destroy 110

LXC 磁碟空間使用狀態
# pct df 100
MP     Volume                             Size   Used Avail Use% Path
rootfs S500G:100/vm-100-NPC111-disk-1.raw 7.7G 720.4M  6.6G  0.1 /

列出 LXC 執行狀態
# pct list
VMID       Status     Lock         Name
100        stopped                 NPC111
107        running                 ipv6
501        stopped                 ubuntu1604
502        stopped                 ubuntu1404

某一 LXC 執行狀態
# pct status 100
status: stopped

更多用法:
# pct help
USAGE: pct <COMMAND> [ARGS] [OPTIONS]
       pct clone <vmid> <newid> -experimental <boolean> [OPTIONS]
       pct create <vmid> <ostemplate> [OPTIONS]
       pct destroy <vmid>
       pct list
       pct migrate <vmid> <target> [OPTIONS]
       pct resize <vmid> <disk> <size> [OPTIONS]
       pct restore <vmid> <ostemplate> [OPTIONS]
       pct template <vmid> -experimental <boolean> [OPTIONS]

       pct config <vmid>
       pct set <vmid> [OPTIONS]

       pct delsnapshot <vmid> <snapname> [OPTIONS]
       pct listsnapshot <vmid>
       pct rollback <vmid> <snapname>
       pct snapshot <vmid> <snapname> [OPTIONS]

       pct resume <vmid>
       pct shutdown <vmid> [OPTIONS]
       pct start <vmid> [OPTIONS]
       pct stop <vmid> [OPTIONS]
       pct suspend <vmid>

       pct console <vmid>
       pct cpusets
       pct df <vmid>
       pct enter <vmid>
       pct exec <vmid> [<extra-args>]
       pct fsck <vmid> [OPTIONS]
       pct mount <vmid>
       pct pull <vmid> <path> <destination> [OPTIONS]
       pct push <vmid> <file> <destination> [OPTIONS]
       pct status <vmid> [OPTIONS]
       pct unlock <vmid>
       pct unmount <vmid>

       pct help [<cmd>] [OPTIONS]

Proxmox – 硬碟規劃

參考網站:
http://www.gienginali.idv.tw/modules/tad_book3/page.php?tbdsn=674

硬碟分割採用 Storage local 和 Storage local-lvm 的方式

[@more@]

 Storage local Storage local-lvm
 容量與 / 共用獨立的 lvm 區域
 可以直接使用,備份及還原比較直覺 由 Proxmox Server 控制存取,只能由網頁模式做存取,用指令模式是不可見的一塊隱藏區域。
 可以用來存放 Disk images 和  LXC 和 ISO 檔,VZDump 及Templates 樣板檔。 只能存放 Disk images 和  LXC 檔。
 如果主機安裝的虛擬機器數量不多,maxvz 可以設小一些,而 maxroot 可以設大一些。 如果主機安裝的虛擬機器數量不多,maxvz 可以設大一些,而 maxroot 可以設小一些。

Proxmox – 新增 KVM 虛擬機器

1. 首先要先將 OS Image 上傳到 Proxmox Server

2. 選擇 Create VM

[@more@]3. General 頁面設定
    VM ID: 識別流水號
    Name: 名稱(英文或數字,不能有特殊符號及中文字)

4. OS 頁面,設定要安裝的系統

5. CD/DVD 頁面設定

6.

7. Hard Disk 頁面設定

8. CPU 頁面設定

9. Memory 記憶體頁面設定

10. Network 網路頁面設定

11. Confirm 確認頁面設定

12. 按滑鼠右鍵,選擇 Start

13. 按右上角的 Console

14. 進行安裝

Proxmox – 新增 LXC Container 虛擬機器

1. 首先下載 LXC 的 Templates
     選擇 local (pve) / Content / Templates

2. 系統會列出有支援的系統,請選擇要下載的 Linux 系統,然後點選 Download
[@more@]3. 出現 TASK OK,即可把視窗關閉

4. Content 中也會出現下載下來的 Templates

5. 選擇右上角的 Create CT

6. LXC Container General 設定
    VM ID:流水號數字
    Hostname:主機名稱
    Password / Confirm password:密碼設定
    最後按 Next

7. LXC Container Template 設定
    Template:選擇要使用的 Template
    最後按 Next

8. LXC Container Root Disk 設定
    Storage:虛擬機器存放的位置
    Disk size(GB):虛擬機器的大小
    最後按 Next

9. LXC Container CPU 設定
    最後按 Next

10. LXC Container Memory 設定
      最後按 Next

11. LXC Container Network 設定
      最後按 Next

12. LXC Container DNS 設定
      最後按 Next

13. LXC Container Confirm 確認設定
      最後按 Finish

14. 進行解壓縮及設定

15. 出現 TASK OK,即可把視窗關閉

16. 在 LXC 虛擬機器上按滑鼠右鍵,選擇 Start

17. 可以選擇滑鼠右鍵中的 Console

或右上角的 Console

18. 都可以看到系統開完機的樣子。

Proxmox – KVM 和 LXC 虛擬機器比較

參考網站:
http://www.gienginali.idv.tw/modules/tad_book3/page.php?tbdsn=110

KVM(qemu)
像是使用 VMware 或是 VirtualBox 虛擬機器軟體,使用軟體來模擬硬體的方式所建立的虛擬機器,使用起來和實體機器相同,可以隨時加入其它設備來擴充硬碟或是記憶體容量。

虛擬機器內需要安裝作業系統(Guest OS)才能執行應用程式。
虛擬機器開機的速度較慢,要視原本 Host OS 的硬體來決定。[@more@]
LXC(Linux Container)
LXC 只能用來執行 Linux 的虛擬機器,但不是所有的 Linux 版本都有支援,要視其有沒有提供 Template 版本而定。所提供的是一個使用環境,所以佔用的磁碟空間和記憶體會比較小,執行效率會損失較低,幾乎接近實體機器的效能,不過,虛擬機器的設定會受限於在建立時,無法做很大的變動。

LXC 內可以直接使用 Templates,不需要特別再安裝作業系統,就能安裝及執行應用程式。
採取共用 Host OS 的作法,而不需要在每一個 LXC 內執行 Guest OS,因此建立 LXC 不需要等待作業系統開機的時間,執行速度會比較快。

Proxmox Server 新增第二顆硬碟

1. 查看硬碟,硬碟代號是 /dev/sdb
# fdisk -l

2. 分割硬碟
# fdisk /dev/sdb

[@more@]3. 格式化硬碟,採用 ext4 格式
# mkfs.ext4 /dev/sdb1

4. 建立掛載目錄及查看硬碟的 UUID
# mkdir /VM
# mount /dev/sdb1 /VM
# blkid

5. 修改 /etc/fstab
# cp /etc/fstab /etc/fstab.$(date +%F)
# vim /etc/fstab
加入下面一行
UUID=abbfa0ae-2c08-4fc8-b197-7e296433207c /VM ext4 defaults 0 1

6. 進行掛載及測試
# mount -a
# mount | grep sdb1
/dev/sdb1 on /VM type ext4 (rw,relatime,data=ordered)

7. 登入 Proxmox 後台
    選擇 Datacenter / Storage / Add

8. 選擇 Directory

9. ID:辨認使用
    Directory:掛載目錄
    Content:要放入的內容

10. 最後按 Add

11. 新增的目錄

Proxmox Server 系統調整

1. 登入之後,做套件庫及套件更新
# apt-get update;apt-get upgrade

2. 安裝個人習慣使用的一些套件
# apt-get install vim htop colordiff ntpdate

3. 掛載及分享 NFS 給 VM 使用
apt-get install nfs-kernel-server

4. 自動掛載目錄
apt-get install autofs

修改使用環境
5. 為 VIM 加上色彩

[@more@]6. 在 /etc/profile 中加入
# vim /etc/profile
# 將預設編輯器改成 vim
export EDITOR=”/usr/bin/vim”
# 加入 alias
alias ls=’ls -F –color’
alias cls=’clear’
alias grep=’grep –color=auto’
alias cp=’cp -i’
alias mv=’mv -i’

 

解決 Proxmox 更新套件庫出現的錯誤訊息

更新套件庫時出現如下的錯誤訊息
# apt-get update
Err https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages
  HttpError401
Get:22 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B]
Ign https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US
Get:23 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B]
Ign https://enterprise.proxmox.com jessie/pve-enterprise Translation-en
Fetched 590 kB in 6s (85.8 kB/s)
W: Failed to fetch https://enterprise.proxmox.com/debian/dists/jessie/pve-enterprise/binary-amd64/Packages  HttpError401

E: Some index files failed to download. They have been ignored, or old ones used instead.

主要的原因是沒有購買企業支援的授權,所以才會出現如上的訊息[@more@]解決的方式:
# sed -i ‘s/^deb/#deb/’ /etc/apt/sources.list.d/pve-enterprise.list

再一次更新,就不會出現錯誤訊息了!
# apt-get update
Ign http://ftp.tw.debian.org jessie InRelease
Hit http://ftp.tw.debian.org jessie Release.gpg
Hit http://ftp.tw.debian.org jessie Release
Hit http://ftp.tw.debian.org jessie/main amd64 Packages
Hit http://ftp.tw.debian.org jessie/contrib amd64 Packages
Hit http://ftp.tw.debian.org jessie/contrib Translation-en
Hit http://ftp.tw.debian.org jessie/main Translation-en
Hit http://security.debian.org jessie/updates InRelease
Hit http://security.debian.org jessie/updates/main amd64 Packages
Hit http://security.debian.org jessie/updates/contrib amd64 Packages
Hit http://security.debian.org jessie/updates/contrib Translation-en
Hit http://security.debian.org jessie/updates/main Translation-en
Reading package lists… Done