2017年4月19日 星期三

SSH與VirtualBox的錯誤紀錄

近期某個雲端伺服器要連線時回傳Write failed: Broken pipe

方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面的配置:
ServerAliveInterval 60
方法二:如果您有多个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
ClientAliveInterval 60
方法三:如果您只想让当前的 ssh 保持连接,可以使用以下的命令:
$ ssh -o ServerAliveInterval=60 user@sshserver

恩恩...因為伺服器在雲端,曾經發生改了防火牆或SSH就再也失聯的窘境,所以就下次小心別遺忘伺服器太久沒去關心,放大絕重開機解決無法連線的問題,還好有規劃Load Balance環境!! 有驚無險地排除~~

另一個狀況是,VM做了快照之後~重開機完顯示cannot be closed because it is still attached to 1 virtual machines ... 
解決方式

1. 先卸載 vdi
代碼: [選擇]
$ VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium none
2. 關閉 vdi
代碼: [選擇]
$ VBoxManage closemedium disk /path_to/xxx.vdi
$ VBoxManage showhdinfo /path_to/xxx.vdi
UUID:                 08bdda17-96f9-4363-a9bb-0807686fd0a8
Accessible:           yes
Logical size:         122880 MBytes
Current size on disk: 43279 MBytes
Type:                 normal (base)
Storage format:       VDI
Format variant:       dynamic default
Location:             /path_to/xxx.vdi
Accessible 狀態 yes


3. 重新掛載 vdi
代碼: [選擇]
$ VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium /path_to/xxx.vdi
4. 啟動 vm
代碼: [選擇]
$ VBoxHeadless -s $VM &
恩恩...認真的依據提示做了一輪,還是GG沒有FIX。依舊是放大絕去改XXX.vbox檔案~把異常的部分砍掉再重開機解決順利開機,不過這部分之前曾經有過許多血淚經驗,沒把握別去動.vbox設定檔,最低限度記得備份原始檔,以免還原時找不到下手處。

沒有留言: