現在很少開虛擬機, 如果有, 也都是用 kvm -pflash ... 指令簡單用一下我的 UEFI 隨身碟。 今天需要讓區網裡的機器看見虛擬機, 所以必須開 virt-manager。 太久沒用, 都快忘記怎麼用了。 花了一小時挖出自己散落在好幾篇的舊設定, 終於慢慢想起來, 趕快記錄下來:
2025年9月14日 星期日
2024年6月1日 星期六
原來 docker 會破壞 virt-manager 虛擬機的 bridge 連線
"bridge": "brext" 就可以了。
這裡 brext 是我的 bridge 的名字。
奇怪,這是 2017 年的 bug report 耶!?
有大大 (Dmitry Smirnov) 說
docker 團隊不太在意這個 bug, 希望大家都用 docker 就好,
後來他就改用 rkt 了。 可是後來 rtk 也停止更新了。
2021年9月12日 星期日
aws ec2 損毀救援記
我有租一部 aws 的 ec2 虛擬主機。
如果不小心下錯指令把少數幾個重要檔案搞爛掉了,
以致無法登入甚或是無法開機, 該怎麼辦?
比方說前幾天我就發生了一個悲劇...
我的伺服器當然有照著
密不透水的 ssh 這篇做,
在 /etc/ssh/sshd_config 裡面設定
PasswordAuthentication no,
並且搭配 ~/.ssh/authorized_keys 指定允許登入的 ssh 公鑰。
那天我手殘不小心把這個檔案刪掉了,
馬上掉入恐慌, 就像幾個月前某天出門後才發現忘記帶鑰匙一樣!
比忘記帶鑰匙更慘的是, 這次沒辦法找老婆幫忙~
更糟糕的是: 伺服器上面還有老婆要用的檔案...
我雙重死定了~
2021年4月4日 星期日
機器學習之 ROCm 驅動 Radeon RX580 GPU
2020年9月4日 星期五
virt-manager 的一些設定:虛擬機區網曝光、 實體硬碟、 UEFI
如果說 kvm 是 linux 虛擬機的引擎, 那麼 virt-manager 就是完工的車子。
以前年輕喜歡耍帥直接開著
引擎裸露 的
(網路連線) 拼裝車 上街拉風; 現在懶惰了,
還是開著完工的成品車比較簡單。
gtwang 的文章 有 virt-manager 慢動作分解教學;
笑傲紅塵路 有更多關於虛擬化技術的詳盡解說。
這篇我只想簡單筆記一下我的使用方式, 特別是對外網路的部分。
2020年3月6日 星期五
給微軟視窗俘虜們的逃脫地道入口: virtualbox 版的貴哥實驗室
這學期我的課程環境被關在 virtualbox 虛擬機環境裡面,
於是我製作了
虛擬機映像檔。 請把 20/bionic-g20C.vdi.gz
(或者更新的版本, 請先查看 00README.txt) 下載回你的 MS Windows、
將它解壓縮 (原始的 .gz 檔可作為備份,不要刪除!) 並且
安裝 virtualbox for windows。
2020年2月21日 星期五
透過 RESTful API 管理一群 lxc 的 lxd
好啦, 如果需要完整的虛擬化, lxd 當然無法取代 kvm, 畢竟 lxd 只是容器 (container) 技術。 但如果只是想要玩玩不同的 distribution 的命令列, 那麼 lxd 就超合適的。 如 lxc 筆記 所說 (但換個比喻) 如果把 lxc 想成是車子的主體, 那麼 lxd 就是方向盤/排檔桿/剎車/儀表板等等 「使用者介面」。 凡是 「lxc-xxx」 長像的指令 (例如 lxc-ls、 lxc-create) 都屬於底層 lxc 套件, 是修車師傅專用的, 我們駕駛人一般不太去用它。 這篇介紹適用於駕駛人、 長得像 「lxc xxx」 的指令 (例如 lxc ls、 lxc launch)。
2018年9月23日 星期日
幫 proxmox 的 lxc 擴充硬碟
在 proxmox 上面, 原則上每個 lxc 容器配置一個檔案系統。
例如我的
proxmox 採用
zfs 作為檔案系統。 有一部 lxc 容器, id 是 371,
那麼在 /etc/pve/lxc/371.conf 裡面就會有一句:
rootfs: local-zfs:subvol-371-disk-1,size=4G
之類的。 這個檔案系統對應到 proxmox host 的
rpool/data/subvol-371-disk-1 。
(假設你的 zfs pool 名為 rpool)
但如果這個容器要當作 ftp 伺服器或 docker 伺服器,
最好把資料放在第二顆硬碟上,
這樣資料備份跟伺服器狀態備份才比較方便分開處理。
2018年7月6日 星期五
在 ubuntu 18.04 底下為 kvm 打造的虛擬區域網路
[2020/9/3 改推薦採用 netplan 設定 bridge 搭配 virt-manager 會比本文簡單很多。]
Ubuntu 18.04 Bionic Beaver 的網路設定改用 netplan 取代舊的 /etc/network/interfaces 設定方式。 如果只是單純的固定 IP 或 DHCP, 據說設定很簡單。 可是我想採用類似 手工精簡版 的方式來幫未來的 qemu-kvm guests 設定獨立式或可橋接外界的虛擬區域網路。 暫時沒有力氣學 netplan, 所以就照著 這個問答 強制改成舊的設定方式比較簡單。 但若不小心, 有可能會在開機時無限等待 dhcp 服務。 以下是我的 lubuntu 18.04 最終網路設定, 及一些有助除錯的筆記。
2017年7月23日 星期日
32 bit linux 不支援 zfs 但還是可以享用 snapshot 快照
這幾天鐵齒之後學到的慘痛經驗, 很快筆記分享一下。 我試著要裝 32 bit (lubuntu-*-i386.iso), 並加裝 zfs 驅動程式。 官網 跟安裝畫面就已經警告說 zfs 大量使用 virtual memory, 所以在 32 bit 環境上會很不穩, 可是我就是鐵齒又有 OS 蒐集癖、 就是想要 把它的根目錄放進 zfs 裡面去。 裝完之後, 用 kvm 開機測試, 通過 initramfs, 甚至已經掛載位於 zfs 的根目錄, 所有服務也都一一漂亮地 [ok] 啟動, 然後就卡在進不了圖形介面, 甚至連 ctrl-alt-f2 等等終端機也叫不出來了。 就死當, 很徹底。 隔沒多久, host 的 root 帳號就收到 mail, 說 zfs 的 checksum error -- 我猜那一個 zpool 應該整個毀了。 還好當時有刻意先開一個新的 zpool 來測試, 沒牽連到原先已裝好的其他 64 bit 版 lubuntu。
[2020/01/11 Linus Torvalds建議不要使用ZFS (考量法律與 Oracle 興訟的習性)]
2017年5月22日 星期一
窮人的 proxmox (可攜式/行動) 機房
業餘機房管理員貴哥向系上要了一部較高階的桌機,
在上面安裝 proxmox 虛擬環境, 用它來架設私有雲、
管理幾部 linux 教學伺服器已經兩年了, 感覺超簡單超方便的,
很想分享給中小企業網管們,
還有喜歡電腦自主又想幫學校省錢的老師們。
小格舊版的
「虛擬機新手恩物 proxmox」 那篇蠻受歡迎的;
新版的 4.* 系列有很多改變, 所以決定重寫一篇。
也順便示範: 沒有伺服器和固定 IP 可用的窮人也能把
proxmox 安裝在一個 qcow2 檔或隨身碟裡面,
背著一間機房到處跑、 隨時拿出來練習!
這招拿來教 proxmox 很方便,
不會影響到電腦教室裡原本的 linux 系統。
(<== 真正的原始動機)
但本篇並不只限定於對隨身碟/行動版有興趣的讀者 --
如果你只是單純想玩 proxmox、 而且手邊有實體伺服器可用,
則可以省略前面的 (第一層) 虛擬環境架設, 直接用 proxmox 光碟啟動伺服器,
並且跳到第二節第4步。
2017年5月14日 星期日
手工精簡版 qemu-kvm 虛擬區域網路
本文已過時。 請改參考 在 ubuntu 18.04 底下為 kvm 打造的虛擬區域網路
qemu/kvm 是蠻底層的 linux 虛擬化工具, 只適合用於單一虛擬機的場合。 它固定配 10.0.2.15 的 IP 給虛擬機, 這個 IP 僅供虛擬機自嗨用, 從 host 並不能用這個 IP 連到虛擬機; 。 如果要管理一整群虛擬機, 各自要有 ip、 彼此要能互連, 理論上應該改用 virsh 跟 virt-manager 比較好。 不過這兩者的相依套件蠻多的。 對於喜歡騎腳踏車勝過騎機車/開車的人來說, 其實 「含有多部 kvm 虛擬機的區域網路環境」 還是可以用 qemu/kvm 指令徒手建立出來。
2017年4月25日 星期二
把 Windows XP 收納成 qemu 虛擬機
老婆的 (Windows XP!) 電腦壞了。 她忙著買新電腦; 我則要趁著最後一部裝著 xp 的 eeepc 還沒掛掉的時候, 趕快把它變成虛擬機備份起來, 因為上面有一些她無法放棄、 又無法升級到新版 windows 的應用軟體。 這是我第一次成功的 windows P2V (Physical to Virtual) 實戰, 其中有些步驟可能對 windows 7 的 P2V 也有幫助。
2017年2月9日 星期四
fwmp 懶人的通訊埠轉發指令
貴哥不太想學 iptables 指令。 但是身為 IP 不夠用的網管,
經常有 ip forwarding 通訊埠轉發 的需求。
每次弱弱地抄指令都很怕抄錯。 於是寫了
fwmp 跟 fwmp.lxc 兩個小程式,
可以用一個指令幫區網內的一部機器
(可以是實體機、 kvm 虛擬機或 lxc 容器)
同時轉發好幾個通訊埠。
kvm/lxc 的部分, 我主要在 proxmox 4.2-2/725d76f0 的環境底下測試。
如果你在其他版本測試成功或失敗, 請留言分享一下。
[2018/2/8] 改推薦安裝 Single Packet Authorization, 既可防禦 ssh 又可順便 (零設定!) 取得區網內的 port forwarding。
2016年5月1日 星期日
我的免費有線分享器: qemu/kvm 虛擬區網
貴哥小時候沒修過網路的課, 後來玩 linux
勉強學會一點點
網路基本指令 (<==以下假設讀者可以手動設定有線網路並且玩過 qemu/kvm 虛擬機)。
這幾天爬了好多文終於學會用 bridge 跟 tap 手工建立虛擬區網。
我們的目標是要在你的電腦 (Host) 上面用 qemu/kvm
開兩部虛擬機 GuestA 跟 GuestB, 把它們放在同一個虛擬區域網路裡面,
讓 GuestA、 GuestB、 Host 可以直接看到彼此的 IP。
當然, GuestA 跟 GuestB 要能夠上網。
只想用虛擬機做事的讀者不必讀本文, 因為只要改採用更高階的 libvirt, 這些 「接水管」 的問題就不必自己操心了。 或是採用 手工精簡版 qemu-kvm 虛擬區域網路 也比本文簡單很多。 想當水管工的, 或是 [沒有足夠的設備也硬是要] 開設網路實習課程的老師才請進。
2016年1月21日 星期四
用 dosbox 玩懷舊遊戲
慶祝寒假開始, 今天破例來介紹非自由軟體網站好了。
My Abandonware 蒐集了很多被遺棄的上世紀古代遊戲。
各位大叔大嬸們, 讓我們一起在 linux (或 windows)
上面來回味小時候在
DOS 作業系統 上面玩的遊戲吧! 冰城傳奇 (bard's tale)、
創世紀 (ultima)、 模擬城市 (simcity)、
魔法門 (might and magic)、 ...
小朋友們可以考古研究一下爸爸媽媽叔叔伯伯阿姨小時候玩的遊戲,
說不定可以拉近跟長輩們的距離呢!
2015年12月2日 星期三
把 OpenVZ 虛擬機的 venet 裝置升級成 veth 網卡
2015年7月6日 星期一
備份/搬家/還原/大量複製 openvz 虛擬機
如果單純只是想要備份還原一兩部 openvz 虛擬機,
「布丁布丁吃什麼?」 有兩篇圖文並茂的詳盡說明:
採用 proxmox 網頁介面、
採用命令列。
但如果你遇到跟我一樣的狀況, 需要幫學生或客戶一口氣建立幾十部
openvz 虛擬機, 那當然就要採用命令列的方式比較快。
本文精簡地重述如何用命令列備份還原,
並且把重點放在 「批次/大量複製」。
2015年4月20日 星期一
明智消費者的虛擬化技術基本觀念及術語
2015年3月10日 星期二
qemu-kvm 如何啟動單一分割?
在學會使用 LVM 之前, 我的電腦切了十幾個分割, 每個分割各自裝一個不同版本的 linux :-) 經常會需要 「在甲分割工作; 在乙分割做實驗」。 以前都是重新開機, 或是桌機工作、筆電實驗, 總之很麻煩。 現在學會用虛擬機了, 當然就想要 「甲分割開機工作; 用 qemu-kvm 啟動乙分割做實驗」 比較簡單。 以下用隨身碟實驗好了, 比較安全。
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能?
如果我要的玩具只有一個, 正好又被別人借走了呢?」