在 Linux KVM 虛擬系統中, 往往需管理大量虛擬電腦, 如所有管理是透過 SSH, 那你就必須記住一堆 IP 位址, 有時網路還不通, 這在管理上是一大挑戰. 這樣的情況如使用 Serial Port 方式連接虛擬電腦, 就不需記憶大量 IP 及 擔心網路不通.
對於虛擬電腦管理上還有另一個挑戰, 那就是批次關機, TinyCore 系統內建並沒有安裝 ACPID (Advanced Configuration and Power Interface daemon), 這樣就無法由 virsh shutdown 命令將虛擬電腦關機
針對上述需求,開始進行 TinyCore 改裝, 步驟如下 :
1.解開 initial RAM disk 檔 (microcore.gz)
$ mkdir /mnt/hda1/rd
$ cd /mnt/hda1/rd
$ zcat /mnt/hda1/boot/microcore.gz | sudo cpio -i -H newc -d
2.編輯 /mnt/hda1/rd/etc/inittab 設定檔
在 inittab 設定檔中, 加入下式
$ cd /mnt/hda1/rd
$ nano etc/inittab
:
ttyS0::respawn:/sbin/getty 38400 ttyS0
3.編輯 /mnt/hda1/rd/etc/securetty 設定檔
$ cd /mnt/hda1/rd
$ nano etc/securetty
:
# For people with serial port consoles
ttyS0 # 移除這行註解
4. 重製 initial RAM disk 檔 (microcore.gz)
$ cd /mnt/hda1/rd
$ sudo find | sudo cpio -o -H newc | gzip -2 > ../microcore.gz
5. 複製 microcore.gz 至啟動目錄
$ cp ../microcore.gz ../boot/
cp: overwrite `../boot/microcore.gz'? y
6.重新開機
$ sudo reboot
7.在裸機系統執行以下命令, 使用 Serial Port 登入改裝後的 TinyCore 虛擬電腦
$ sudo virsh console TC382
Micro Core Linux
box login: root
Password:
(
//\ Micro Core is distributed with ABSOLUTELY NO WARRANTY.
v_/_ www.tinycorelinux.com
root@box:~#
8.安裝 acpid 套件
$ tce-load -wi acpid.tcz
9.產生 acpid 事件檔 (powerbtn)
$ sudo nano /usr/local/etc/acpi/events/powerbtn
event=button[ /]power
action=/sbin/poweroff
10.修改備份清單 (/opt/.filetool.lst)
$ nano /opt/.filetool.lst
:
usr/local/etc/acpi/events/powerbtn
11.修改 /opt/bootsync.sh
$ nano /opt/bootsync.sh
:
/usr/local/sbin/acpid &>/dev/null
12.重新開機
$ filetool.sh -b
$ sudo reboot
參考文章
1.Linux 電源管理研究筆記-acpid 工作原理簡述
http://bluequiet.blogspot.com/2009/05/linuxacpid.html
2.Serial Port console with syslinux question?
http://forum.tinycorelinux.net/index.php?topic=11088.0
沒有留言:
張貼留言