{"id":35087,"date":"2025-09-12T11:24:36","date_gmt":"2025-09-12T04:24:36","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2025\/09\/12\/reboot-your-linodes-for-qemu-maintenance\/"},"modified":"2025-09-12T11:24:36","modified_gmt":"2025-09-12T04:24:36","slug":"reboot-your-linodes-for-qemu-maintenance","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2025\/09\/12\/reboot-your-linodes-for-qemu-maintenance\/","title":{"rendered":"Kh\u1edfi \u0111\u1ed9ng l\u1ea1i Linode c\u1ee7a b\u1ea1n \u0111\u1ec3 b\u1ea3o tr\u00ec QEMU"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"vi\"><br \/>\n<head><br \/>\n<meta charset=\"utf-8\" \/><br \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/><br \/>\n<title>Reboot Linodes cho QEMU Maintenance<\/title><\/p>\n<style>\n  :root {\n    --bg:#ffffff; --fg:#0f172a; --muted:#475569; --line:#e5e7eb;\n    --accent:#0ea5e9; --note:#eef6ff; --tip:#ecfdf5; --warn:#fff7ed;\n  }\n  html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);\n    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.6}\n  header{padding:28px 20px;border-bottom:1px solid var(--line);background:#fafafa}\n  header h1{margin:0;font-size:28px}\n  header p{margin:8px 0 0;color:var(--muted)}\n  main{padding:32px;max-width:960px;margin:0 auto}\n  h2{margin-top:32px;font-size:22px}\n  h3{margin-top:24px;font-size:18px}\n  .callout{border:1px solid var(--line);border-left:4px solid var(--accent);padding:12px 16px;border-radius:8px;margin:16px 0;background:#f9fafb}\n  .note{border-left-color:#3b82f6;background:var(--note)}\n  .tip{border-left-color:#22c55e;background:var(--tip)}\n  .warn{border-left-color:#f59e0b;background:var(--warn)}\n  code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}\n  pre{background:#ffffff;color:#000000;border:1px solid var(--line);border-radius:8px;padding:16px;overflow:auto}\n  table{border-collapse:collapse;width:100%;margin:16px 0}\n  th,td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}\n  .small{font-size:13px;color:var(--muted)}\n  a{color:#0369a1;text-decoration:none}\n  a:hover{text-decoration:underline}\n  .source{margin-top:24px;font-size:14px;color:var(--muted)}\n  .step{margin:8px 0}\n  .kbd{padding:2px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#fff;font-family:inherit}\n<\/style>\n<p><\/head><br \/>\n<body><\/p>\n<header>\n<h1>Reboot Linodes cho QEMU Maintenance<\/h1>\n<p>N\u1ebfu c\u00e1c Linode c\u1ee7a b\u1ea1n b\u1ecb \u1ea3nh h\u01b0\u1edfng b\u1edfi \u0111\u1ee3t b\u1ea3o tr\u00ec n\u00e0y, h\u00e3y reboot \u0111\u1ec3 \u00e1p d\u1ee5ng b\u1ea3n c\u1eadp nh\u1eadt.<\/p>\n<\/header>\n<p><main><\/p>\n<div class=\"callout warn\">\n    \ud83d\udea7 <strong>Ch\u1ec9 d\u00e0nh cho b\u1ea3o tr\u00ec n\u00e2ng c\u1ea5p QEMU<\/strong><br \/>\n    H\u01b0\u1edbng d\u1eabn n\u00e0y ch\u1ec9 \u00e1p d\u1ee5ng khi Linode c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u reboot \u0111\u1ec3 th\u1ef1c hi\u1ec7n b\u1ea3o tr\u00ec QEMU (security reboot maintenance).\n  <\/div>\n<h2>Ki\u1ec3m tra b\u1ea3o tr\u00ec n\u00e0y<\/h2>\n<p>Th\u1ef1c hi\u1ec7n c\u00e1c b\u01b0\u1edbc sau \u0111\u1ec3 ki\u1ec3m tra xem c\u00e1c Linode c\u1ee7a b\u1ea1n c\u00f3 thu\u1ed9c di\u1ec7n b\u1ea3o tr\u00ec n\u00e0y kh\u00f4ng:<\/p>\n<ol>\n<li class=\"step\">\n      Ch\u1ea1y <em>List notifications<\/em>. N\u1ebfu th\u1ea5y th\u00f4ng b\u00e1o c\u00f3 tr\u01b0\u1eddng <code>\"type\": \"security_reboot_maintenance_scheduled\"<\/code> li\u00ean quan \u0111\u1ebfn Linode c\u1ee7a b\u1ea1n,<br \/>\n      h\u00e3y l\u01b0u <code>id<\/code> t\u1eeb tr\u01b0\u1eddng <code>entity<\/code> (b\u1ea1n c\u00f3 th\u1ec3 l\u1ecdc k\u1ebft qu\u1ea3 theo type <code>security_reboot_maintenance_scheduled<\/code>).\n    <\/li>\n<li class=\"step\">\n      Ch\u1ea1y <em>List maintenances<\/em>. Danh s\u00e1ch n\u00e0y hi\u1ec3n th\u1ecb m\u1ecdi nhi\u1ec7m v\u1ee5 b\u1ea3o tr\u00ec hi\u1ec7n t\u1ea1i v\u00e0 \u0111\u00e3 l\u00ean l\u1ecbch cho Linode c\u1ee7a b\u1ea1n.<br \/>\n      V\u1edbi t\u1eebng <code>linode_id<\/code> \u0111\u00e3 l\u01b0u \u1edf b\u01b0\u1edbc 1, h\u00e3y ki\u1ec3m tra:<\/p>\n<ul>\n<li><strong>reason<\/strong>: n\u1ed9i dung li\u00ean quan \u0111\u1ebfn \u201csecurity reboot maintenance\u201d.<\/li>\n<li><strong>status<\/strong>: ph\u1ea3i l\u00e0 <code>scheduled<\/code>. Tr\u1ea1ng th\u00e1i n\u00e0y cho bi\u1ebft b\u1ea1n c\u1ea7n reboot Linode \u0111\u1ec3 b\u1eaft \u0111\u1ea7u b\u1ea3o tr\u00ec.<\/li>\n<\/ul>\n<p>      Khi t\u1ea5t c\u1ea3 c\u00e1c Linode \u0111\u00e3 c\u00f3 tr\u1ea1ng th\u00e1i <code>scheduled<\/code>, chuy\u1ec3n sang ph\u1ea7n ti\u1ebfp theo.\n    <\/li>\n<\/ol>\n<h2>Reboot Linode c\u1ee7a b\u1ea1n<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n theo nhi\u1ec1u c\u00e1ch:<\/p>\n<ul>\n<li><strong>Reboot th\u1ee7 c\u00f4ng<\/strong>: n\u1ebfu ch\u1ec9 c\u00f3 v\u00e0i m\u00e1y ho\u1eb7c b\u1ea1n mu\u1ed1n ki\u1ec3m so\u00e1t chi ti\u1ebft, d\u00f9ng API <em>Boot a Linode<\/em> \/ thao t\u00e1c trong Cloud Manager \u0111\u1ec3 reboot t\u1eebng m\u00e1y.<\/li>\n<li><strong>Batch reboot<\/strong>: xem ph\u1ea7n b\u00ean d\u01b0\u1edbi \u0111\u1ec3 reboot h\u00e0ng lo\u1ea1t b\u1eb1ng Linode CLI.<\/li>\n<\/ul>\n<h3>T\u1ea1o script \u0111\u1ec3 batch reboot<\/h3>\n<p>N\u1ebfu mu\u1ed1n reboot h\u00e0ng lo\u1ea1t, b\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng script sau:<\/p>\n<pre><code>#!\/bin\/bash\n# filepath: .\/script.sh\nINPUT_FILE=\"linode_ids.txt\"\nwhile IFS= read -r linode_id; do\n  if [[ -n \"$linode_id\" ]]; then\n    echo \"Rebooting Linode ID: $linode_id\"\n    linode-cli linodes reboot \"$linode_id\"\n    sleep 2\n  fi\ndone &lt; \"$INPUT_FILE\"\n<\/code><\/pre>\n<h3>T\u1ea1o t\u1ec7p <code>linode_ids.txt<\/code> cho batch reboot<\/h3>\n<p>T\u1ea1o file <code>linode_ids.txt<\/code> ch\u1ee9a m\u1ed7i <code>id<\/code> Linode tr\u00ean <em>m\u1ed9t d\u00f2ng<\/em>:<\/p>\n<pre><code>12345678\n13579246\n24681357\n87654321\n87654320\n87654319\n87654318\n<\/code><\/pre>\n<h3>Ch\u1ea1y script \u0111\u1ec3 batch reboot<\/h3>\n<ol>\n<li>N\u1ebfu c\u1ea7n, c\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh Linode CLI.<\/li>\n<li>Cho ph\u00e9p script th\u1ef1c thi:\n<pre><code>chmod +x script.sh<\/code><\/pre>\n<\/li>\n<li>Ch\u1ea1y script:\n<pre><code>.\/script.sh<\/code><\/pre>\n<\/li>\n<\/ol>\n<h2>V\u1ec1 sau<\/h2>\n<p>N\u1ebfu b\u1ea1n l\u1ea1i th\u1ea5y c\u00e1c th\u00f4ng b\u00e1o t\u01b0\u01a1ng t\u1ef1 cho nh\u1eefng Linode kh\u00e1c ho\u1eb7c c\u00e1c \u0111\u1ee3t n\u00e2ng c\u1ea5p trong t\u01b0\u01a1ng lai, h\u00e3y l\u1eb7p l\u1ea1i quy tr\u00ecnh v\u1edbi v\u00e0i thay \u0111\u1ed5i nh\u1ecf:<\/p>\n<ul>\n<li><strong>Ki\u1ec3m tra b\u1ea3o tr\u00ec<\/strong>: l\u1eb7p l\u1ea1i th\u1ee7 t\u1ee5c ki\u1ec3m tra nh\u01b0 tr\u00ean.<\/li>\n<li><strong>C\u1eadp nh\u1eadt<\/strong> <code>linode_ids.txt<\/code>: th\u00eam c\u00e1c <code>id<\/code> m\u1edbi v\u00e0 <em>lo\u1ea1i b\u1ecf<\/em> c\u00e1c Linode kh\u00f4ng c\u00f2n c\u1ea7n reboot.<\/li>\n<li><strong>Ch\u1ea1y script<\/strong>: th\u1ef1c thi l\u1ea1i c\u00e1c b\u01b0\u1edbc batch reboot.<\/li>\n<\/ul>\n<p class=\"small\">C\u1eadp nh\u1eadt kho\u1ea3ng 1 th\u00e1ng tr\u01b0\u1edbc.<\/p>\n<div class=\"source\">\n    Tr\u00edch d\u1eabn b\u00e0i vi\u1ebft g\u1ed1c:<br \/>\n    <a href=\"https:\/\/techdocs.akamai.com\/linode-api\/reference\/reboot-your-linodes-for-qemu-maintenance\" target=\"_blank\" rel=\"noopener\"><br \/>\n      Reboot your Linodes for QEMU maintenance \u2013 Akamai TechDocs<br \/>\n    <\/a>\n  <\/div>\n<p><\/main><br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kh\u1edfi \u0111\u1ed9ng l\u1ea1i Linode c\u1ee7a b\u1ea1n \u0111\u1ec3 b\u1ea3o tr\u00ec QEMU<\/p>\n","protected":false},"author":1,"featured_media":36541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[99],"tags":[],"class_list":["post-35087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-workflows"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=35087"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35087\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36541"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}