{"id":1016,"date":"2024-12-24T17:54:58","date_gmt":"2024-12-24T09:54:58","guid":{"rendered":"https:\/\/blog.espnlol.com\/?p=1016"},"modified":"2024-12-24T18:08:42","modified_gmt":"2024-12-24T10:08:42","slug":"zstack%e7%a4%be%e5%8c%ba%e7%89%88%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7","status":"publish","type":"post","link":"https:\/\/blog.espnlol.com\/?p=1016","title":{"rendered":"zstack\u793e\u533a\u7248\u4f7f\u7528\u6280\u5de7"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u5f00\u673a\u62c9\u8d77vm<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"1\" data-enlighter-title=\"\" data-enlighter-group=\"\">#\u521b\u5efavm list\u6587\u4ef6\nvi \/data\/shell\/vm_list\naaa  ff59971ee447494186b9e4acxxxxxxxx\nbbb  a9e4ac46905c4b03aecce420xxxxxxxx\nccc  7bcc79c96f424f71b7753089xxxxxxxx\n\n#\u521b\u5efa\u811a\u672c\u6587\u4ef6\nvi \/data\/shell\/start_vm.sh\n#!\/bin\/bash\n# \u811a\u672c\u8def\u5f84\uff1a\/usr\/local\/bin\/start_vm.sh\n# \u63cf\u8ff0\uff1a\u542f\u52a8\u865a\u62df\u673a\u5b9e\u4f8b\nsource \/etc\/profile\n\nLOG_FILE=\"\/var\/log\/start_vm.log\"\nZSTACK_CLI=\"\/usr\/bin\/zstack-cli\"\nHOST=\"192.168.1.103\"\nVM_LIST=\"\/data\/shell\/vm_list\"\nVM_PASSWD='xxxxxxxx'\n\n${ZSTACK_CLI} -H ${HOST} LogInByAccount accountName=admin password=${VM_PASSWD}\n\nwhile read VM_NAME UUID; do\n    echo \"$(date '+%Y-%m-%d %H:%M:%S') - Starting VM with ${VM_NAME} UUID=${UUID}\" >> \"${LOG_FILE}\"\n    ${ZSTACK_CLI} -H ${HOST} -P ${VM_PASSWD} StartVmInstance uuid=${UUID} >> \"${LOG_FILE}\" 2>&amp;1\n    echo \"$(date '+%Y-%m-%d %H:%M:%S') - VM start script completed\" >> \"${LOG_FILE}\"\n    sleep 1\ndone &lt; ${VM_LIST}\n\n#\u521b\u5efasystemd\u5b88\u62a4\u6587\u4ef6\nvi \/etc\/systemd\/system\/start-vm.service\n[Unit]\nDescription=Start VM Instance via zstack-cli\nAfter=network.target multi-user.target\nWants=network-online.target\nDefaultDependencies=no\n\n[Service]\nType=oneshot\nExecStart=\/data\/shell\/start_vm.sh\nExecStartPre=\/bin\/sleep 120\nStandardOutput=append:\/var\/log\/start_vm.log\nStandardError=append:\/var\/log\/start_vm.log\nRemainAfterExit=yes\n\n[Install]\nWantedBy=multi-user.target\n\n#\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8\nsystemctl enable start-vm<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u5f00\u673a\u62c9\u8d77vm<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-1016","post","type-post","status-publish","format-standard","hentry","category-virtual"],"_links":{"self":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/1016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1016"}],"version-history":[{"count":3,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/1016\/revisions"}],"predecessor-version":[{"id":1019,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=\/wp\/v2\/posts\/1016\/revisions\/1019"}],"wp:attachment":[{"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espnlol.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}