iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
0
DevOps

Oops Step ( Home lab of a kind ) 系列 第 19

What else, KVM & QEMU?

雅典娜的驚嘆梗已經用過了,虛擬化章節也在黑科技一一曝光後要回到主軸,那就是插科打諢。KVM/QEMU能模擬的作業系統其實不少,但模擬效能有時會讓人覺得正版也不錯。

不過驚人之作也還是滿闔家歡樂的,比如Lakka OS。不知道有沒有人要Donate個Pi給我女兒玩

Yes

QEMU 3.0可以模擬AIX 7.2到命令列模式,但評語是" astonishingly slow",大概是用火箭去宇宙旅行之類的感覺吧。坦白說如果真遇到這樣一個堅持的客戶,然後大家彼此超堅持AIX我可能鼻子摸摸去AMAZON買一台舊的PPC安裝還比較踏實。

libvirt是已經做到migrate遷移的功能,但是QEMU 4.0 也開始了正式接入COLO作為fault tolerance(容錯)的技術,意思就是在兩個節點(KVM/QEMU 4.0 Node)上面的VM抄寫動作進行同步,然後當其中一個掛掉時,把對外網路接到另一個上面,達到熱移轉的感覺。熱騰騰的感覺大概就是

Yes

但很遺憾,ubuntu 18.04收的QEMU版本太舊,所以就不予展示。但相信隨著新版逐代更新,COLO也會變成基本功能,甚至libvirt也會做出對應支援。

icekimo@Kris:~$ qemu-x86_64 -version
qemu-x86_64 version 2.11.1(Debian 1:2.11+dfsg-1ubuntu7.18)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
icekimo@Kris:~$

當然Day 11發表用libvirt / virt-manager管理虛擬機,漏掉windows了,怎麼辦?抱歉...但是Windows還是有virt-viewer 8.0 可以用連到虛擬機。 但是那如果身邊沒有電腦,然後人緣不好借不到的話怎麼辦?去放假找到瀏覽器是比較容易,所以我們就有這個神奇的kimchi(泡菜)專案,把你的私密虛擬機送上網頁。
服用泡菜前請詳閱說明,紅紅辣辣可能會叫救護車。kimchi的底層框架是在cherrypi / wok(鍋) 之上架設的,甚至支援到
Mobile Browser Support:

  • Safari iOS: Current version
  • Android Browser Current version
    這樣你也借不到,你乾脆就先離線休息一下吧

根據說明文件,安裝有以下步驟,裝完以後在本機port 8001服務

  • Git clone Project
# Wok
git clone git@github.com:kimchi-project/wok.git
# Kimchi
git clone git@github.com:kimchi-project/kimchi.git
  • Build (Development) Dependencies (Python & Packages)
# Wok
sudo -H pip3 install -r requirements-dev.txt
sudo apt install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml
# Kimchi
sudo -H pip3 install -r requirements-dev.txt
sudo apt install -y gcc make autoconf automake git python3-pip python3-requests python3-mock gettext pkgconf xsltproc python3-dev pep8 pyflakes python3-yaml
  • Runtime Dependenciesping (Python & Packages)
# Wok
sudo apt install -y systemd logrotate python3-jsonschema python3-psutil python3-ldap python3-lxml python3-websockify openssl nginx python3-cherrypy3 python-cheetah python3-pam python-m2crypto gettext python3-openssl
# kimchi
sudo -H pip3 install -r requirements-UBUNTU.txt
sudo apt install -y python3-configobj python3-lxml python3-magic python3-paramiko python3-ldap spice-html5 novnc qemu-kvm python3-libvirt python3-parted python3-guestfs python3-pil python3-cherrypy3 python3-pam libvirt-bin nfs-common sosreport open-iscsi libguestfs-tools
  • Build and Install (Both Wok & Kimchi)
./autogen.sh --system
make && make install || make deb
  • Starting up Wok
sudo python3 src/wokd # https://localhost:8001

那麼Kimchi好用嗎?坦白說我用了半年後,在新一輪的嘗試名單裡就把它除名了。Why? 因為真正要『用網頁連的虛擬機』的需求其實很怪異,確實我在外面可以用平板輕鬆連上Homelab(實不相瞞,比起帶筆電輕太多了),但是別人也可以啊?!/images/emoticon/emoticon13.gif那這樣不就把安全性大大的降低,等於把門劃上一個X,等四十大盜來搶。而且我可以用vnc/rdesktop/spice + ssh portforwarding就輕鬆達陣了,又何必再做個瀏覽器的大門?也許這樣減少便利性的思考,架構的安全性反而提高。
雖然可能我30天整套展示出來的技術了無新意,但也是經過時間考驗與沉澱的技術。講難聽一點,k8s很火紅,但一定要它才能CI/CD嗎?而且k8s就又無懈可擊嗎?前一陣子很多雲端服務商都出狀況,中箭下馬,一下子佈錯版本後發現復原腳本沒更新,用了更慘。那這些技術要被打入冷宮嗎?是不至於,但是「待觀察」的意思就是「別急,還要多瞭解幾個版本和評估」。虛擬化技術相對容易管理,多浪費一點電力是有可能,但是出事容易處理和分層負責也是要考慮的管理面向。當然這是我也不是故意要討戰 (那個連gitlab都不端出來,還敢投稿DevOps區亂下CI標題),只是一點點想法分享,搖搖筆賺個關注囉。

REF:
https://github.com/kimchi-project
For RHEL / CentOS https://www.ovirt.org/


上一篇
Hackintosh (黑金塔)
下一篇
git 1 push 2 repo
系列文
Oops Step ( Home lab of a kind ) 34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言