網通與資安發展促進結社

網通與資安發展促進結社 之

Pogo Tsai 的 "新" 異空間

Pogo Tsai 的 "新" 異空間

FB

現在, 也可以在 Facebook follow 了, 歡迎加入 It苦命xx團
或著, 按我回首頁 來看更多訊息

2018年3月19日

大量操作 VM 或 CT

熟 linux 應會用, 就筆記一下

如我想搬 vmid 6210007 至 6210078 到 vm999 這台 server

指令如下

for i in {07..78}; do qm migrate 62100$i vm999 ;done
for i in {07..78}; do pct migrate 62100$i vm999 ;done


同理, 大量開機

for i in {07..78}; do qm start 62100$i ;done
for i in {07..78}; do pct start 62100$i ;done

同理, 大量關機

for i in {07..78}; do qm stop 62100$i ;done
for i in {07..78}; do pct stop 62100$i ;done

2018年3月17日

Cluster 更動後, VM Migrate 異常的解決方式

錯誤訊息

2018-03-17 02:44:39 # /usr/bin/ssh -e none -o 'BatchMode=yes' -o 'HostKeyAlias=NODE_NAME' root@x.x.x.x /bin/true
2018-03-17 02:44:39 Host key verification failed.
2018-03-17 02:44:39 ERROR: migration aborted (duration 00:00:00): Can't connect to destination address using public key
TASK ERROR: migration aborted

這很麻煩, Cluster 操作都正常, 只有 Migrate 會出錯

解決方式

人手以 SSH or Shell

/usr/bin/ssh -o 'HostKeyAlias=NODE_NAME' root@x.x.x.x /bin/true

會見到確認 ssh key 的訊息, yes 下去就解決了

參考討論
https://forum.proxmox.com/threads/live-migration-failure-host-key-verification-failed.35579/

2018年3月13日

強制關閉卡很久關不了機的 VM 做法

參考這串討論
https://forum.proxmox.com/threads/bug-vm-dont-stop-shutdown.9020/

ps aux | grep "/usr/bin/kvm -id VMID"

Kill it with:
kill -9 PID

實作上, 最後再加 | more 會更方便看, 有時 task 太多

Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line XXX 解決方式

錯誤訊息

Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line XXX

這有點詭異, 我還未深入研究, 總之好像一定數的 LXC 或 VM 會讓 PVE 很輕易到達上限值

解決方式

透過 command 加大上限

sysctl fs.inotify.max_user_instances=256

附上相關討論

https://forum.proxmox.com/threads/unable-to-create-new-inotify-object-too-many-open-files-at-usr-share-perl5.23700/

Ah, the inotify part is the key bit of information: fs.inotify.max_user_instances defaults to 128 and apparently LXC installs intofiy watches for the container's /var/run/utmp. Add that to inotify handlers already present on the host and used by programs inside the containers and you can very quickly reach the count of 128 when you fire up 70 containers...
You can try changing the limit... sysctl fs.inotify.max_user_instances=256 should allow a few more containers to start...

(There's a comment in the LXC code saying «that should probably be configurable», I agree ;-) )

PVE VM 掛載外部或轉換入的 disk image

指令如下 

qm importdisk  [vmid] [source] [storage] --format qcow2