2017年3月30日 星期四

使用 QEMU KVM 初探 MAAS - [3] 安裝 MAAS controller


如果上一篇建立虛擬機順利的話,應該可以從你自己的 host machine 連到剛才建立的虛擬機器了。立刻連進去操作(我們可以把 virt-manager 的螢幕關掉沒關係 XD 系統還在背景跑就好,伺服器嘛)(也就是說接下來的頁面都沒圖了 XDD[1]):


└──╼ ssh ubuntu@192.168.101.10
The authenticity of host '192.168.101.10 (192.168.101.10)' can't be established.
ECDSA key fingerprint is SHA256:n1YlztUI2/5EgeVrSNbnmbD1KPEHk1Ud8uOvy0mrkOQ.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.101.10' (ECDSA) to the list of known hosts.
ubuntu@192.168.101.10's password:
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
42 packages can be updated.
31 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@maas-ctl-01:~$

安裝需要的套件:

sudo apt-get install maas maas-dns maas-dhcp

maas: 主程式
maas-dns: 我們要 maas controller 替我們負責底下 node 的 dns 管理
maas-dhcp: 同 maas-dns,但管理 dhcp

應該就會一口氣裝到可以用[2][3][4]。如果有裝好,這時候你打開你 host machine 的瀏覽器,輸入位置 http://192.168.101.10/MAAS [5],應該要看到下面的畫面:還沒初始化、初次使用的 MAAS cluster 等著你建立第一個使用者。




這介面真是比 1.5 版的時代好看太多了 XDDDDDDDD

[1] 好啦其實還是有一張圖,建議可以先 clone 一份剛裝好的起來,這樣以後要拿去別地方用,或是稍後亂搞搞爛了可以馬上回來,不用重新建立虛擬機,比較省事。




[2] 啊我記得 2015 年剛開始玩 1.5.x 的時候花超多時間去調校的,包括 PostgreSQL語系問題、import boot image etc.,現在這個 2.1.3.x 大概打包和組態設定上已經改善很多了。一口氣到底好過癮喔。

[3] 14.04 搭配的 MAAS 會一口氣弄進很多 boot image ,空間至少要 10GB(後來的 MAAS 版本就可以選要拉哪些 boot image 了);這篇文章是 xenial server。

[4] 14.04 搭配的 MAAS 在拉 boot image 的時候不會顯示下載進度、甚至按下去有沒有反應都不知道(這後來有改掉),可以在 console 輸入  ps aux | grep import 來觀察下載有沒有正常啟動。

[5] 192.168.101.10 是前面文章在建立虛擬機器時指定的 IP,請換成你自己的值。

[6] trouble shooting: 如果 dhcpd 沒有啟動,可能是因為沒有去 subnet 裡面把 maas-dhcp 打開。

使用 QEMU KVM 初探 MAAS - [2] 建立 MAAS server 用的虛擬機


概念上是新增虛擬網路後,在建立虛擬機器的「硬體」組態時可以指定使用該虛擬網路。再基於該組態安裝 MAAS server。



新增虛擬網路


重點兩個:


  • DHCP 要關掉(因為我們要讓 MAAS server 去負責 DHCP,如果這邊也有 DHCP 就會打架)
  • NAT 要透過 host machine 上的實體裝置連外(因為我想要之後碰到網路來更新或是裝其他的東西;如果沒這打算可以不用連外)











這裡我的 gatewat 是 192.168.101.1,這個數字稍後會用到。

安裝 MAAS server

建立虛擬機


virt-manager 的圖形介面很直覺,廢話不多說,截圖幾個關鍵。


用 image 裝


選自己要用的 image [1]


這一步要注意,要選稍早我們建立的 NAT


[1]
安裝的時候要注意 iso 檔案存放位置的存取權限;常見的問題是把 iso 存在另外一個硬碟或是磁區,這會造成  virt-manager 存取的問題。



啟動虛擬機開始安裝 


雖然安裝一開始有提供很多選項,但我自己是偏好裝最基本的,然後再自己去手動裝與調整需要的套件。


我打算做這樣的配置:

MAAS controller: 192.168.101.10
MAAS node 01: 192.168.101.11
MAAS node 02: 192.168.101.12
......
name server and gateway: 192.168.101.1 (兩個都是同一個,往外找 name;注意這個值來自稍早虛擬網路的設定值)


所以這裡給 MAAS controller IP



netmask (因為我要 IP of nodes 像是 192.168.101.xx),所以是 255.255.255.0

稍早提到的 name server and gateway IP


The hostname of this controller

不填 domain name


如果虛擬網路有對外 bridge 成功的話,就會自動偵測到你的時區


中間有些過程就是一般安裝系統會看到的設定,應該滿直覺的,我就略過太細節的部份。

因為是測試機,所以就不更新了;還沒玩過 landscape,有機會再來玩玩。


稍早有提到我喜歡從基本開始裝,所以只選標準套件;因為之後也想要透過 ssh 連進來使用指令操作 MAAS 和 Juju,所以也順手裝一下 ssh server 的功能。


接著就會一路跑到完、安裝好,等著我們做進一步調校囉!請看下一篇:安裝 MAAS controller。

使用 QEMU KVM 初探 MAAS - [1] 安裝 virt-manager

kvm 是個很早就有的概念(1970??),然而在 20?? 左右,有顯著的突破,並且被 Linux 核心所採用。[1]

MAAS 自建雲,然而大多數人都不太有機會輕易蒐集兩台甚至以上的機器,所以虛擬機器自然是一個很直觀的選擇。如果覺得 Virualbox 太吃資源、也用不到太多的硬體模擬的話,可以考慮使用 qemu on kvm,並且透過 virt-manager 來管理。


首先,安裝虛擬機器管理員

sudo apt-get install virt-manager

讀者在安裝完 virt-manager 之後,透過 dash 打開;
第一次打開的時候可能會遇到 virt-manager 抱怨沒有安裝 qemu-system ,
這是正常的[2]

sudo apt-get install qemu-system




安裝完後打開,會被抱怨無法連接到 libvirt




ls -alh /var/run/libvirt/libvirt-sock
srwxrwx--- 1 root libvirtd 0  2月 18 20:37 /var/run/libvirt/libvirt-sock

可以看到 libvirt-sock 是一種 socket 以及錯誤訊息

libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

不用擔心,這時候使用 sudo 給予權限打開就好

sudo virt-manager

如果左上方的 QEMU/KVM 沒有顯示未連結的話,就表示 virt-manager 已經準備好可以使用了。請到下一篇:安裝 MAAS server





* 是說這一系列的文章我在 2015 年初就寫了草稿,那時候還只是 MAAS 1.5.x,現在兩年過去了 2.1.x 都出來了 XDDD ,剛好又回頭要裝一次當除錯環境。因為原本裝好的 trusty 筆電最近炸掉,換成現在在用的 xenial;當時的操作截圖還留在原本的筆電中,一方面懶得救資料、一方面也覺得版本升級了藉機更新一次訊息。這次一口氣發出來這篇 XDD 從草稿上看到很多當時的痕跡,覺得很有意思。