ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 Proxmox VE 6.3でHDDをホットスワップ 試した環境 手順 物理ディスクの特定 FSのアンマウント 物理ディスクの切り離し 物理ディスクの交換とスキャン 参考:稼働中のVMでホットスワップ 参考サイト Proxmox VE 6.3でHDDをホットスワップ 試した環境 ProxmoxVE 6.3-3 手順 PVE特有の話ではなくLinuxのホットスワップ方法なんですけどね。 自分の環境ではHDDをRDMでVMにくっつけてるので、VMはあらかじめ落としておく。VM側でQEMUディスクをデタッチ→PVE側で物理ディスクをデタッチの流れで、VMを落とさずにホットスワップできそうな気がするが、試してはない。 以下の作業はPVEのシェルで行う。 物理ディスクの特定 ディスクID(/dev/disk/by-id/以下の識別子)でRDMしている場合、デタッチ対象のディスクのデバイスファイル(/dev/sdaってやつ)を特定する必要がある。 ディスクIDはデバイスファイルへのリンクなので、/dev/disk/by-id/をlsすればOK。 # ls -al /dev/disk/by-id/ total 0 drwxr-xr-x 2 root root 1120 Feb 13 11:06 . drwxr-xr-x 8 root root 160 Feb 4 00:31 .. lrwxrwxrwx 1 root root 9 Feb 4 00:31 ata-WDC_WD80EMAZ-00WJTA0_7HKJKU1N -> ../../sda (略) ここではsdaを切り離し対象のディスクとする。 FSのアンマウント ホットスワップ対象のディスクをアンマウントする。 RDMの場合はVMのハードウェア設定からディスクをデタッチする。ふと思ったが、ライトキャッシュ有効の状態で物理ディスクを切り離すとやべー気がするので、やっぱりVMは落として、syncしといたほうがいい気がする。 物理ディスクの切り離し /sys/block/sda/device/deleteに1を書き込んでディスクを切り離す。 # echo 1 > /sys/block/sda/device/delete 以下のようなログが記録される。 Feb 13 11:38:15 siso kernel: [817607.573389] sd 0:0:0:0: [sda] Synchronizing SCSI cache Feb 13 11:38:15 siso kernel: [817607.575096] sd 0:0:0:0: [sda] Stopping disk Feb 13 11:38:19 siso kernel: [817610.745145] ata1.00: disabled 引っこ抜くと以下のログが記録される。 Feb 13 11:40:04 siso kernel: [817715.711131] ata1: SATA link down (SStatus 0 SControl 300) 物理ディスクの交換とスキャン 物理ディスクを交換する。 うちの環境では新しいディスクを挿すと自動的に認識され、以下のようなログが記録された。 Feb 13 12:38:47 siso kernel: [821238.903194] ata1: link is slow to respond, please be patient (ready=0) Feb 13 12:38:57 siso kernel: [821248.923237] ata1: link is slow to respond, please be patient (ready=0) Feb 13 12:38:59 siso kernel: [821251.071237] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) Feb 13 12:38:59 siso kernel: [821251.164123] ata1.00: ATA-9: HGST HUH728080ALE604, A4GNWxxx, max UDMA/133 Feb 13 12:38:59 siso kernel: [821251.164869] ata1.00: 15628053168 sectors, multi 0: LBA48 NCQ (depth 32), AA Feb 13 12:38:59 siso kernel: [821251.173808] ata1.00: configured for UDMA/133 Feb 13 12:38:59 siso kernel: [821251.175561] scsi 0:0:0:0: Direct-Access ATA HGST HUH728080AL W907 PQ: 0 ANSI: 5 Feb 13 12:38:59 siso kernel: [821251.177349] sd 0:0:0:0: [sda] 15628053168 512-byte logical blocks: (8.00 TB/7.28 TiB) Feb 13 12:38:59 siso kernel: [821251.177392] sd 0:0:0:0: Attached scsi generic sg0 type 0 Feb 13 12:38:59 siso kernel: [821251.178905] sd 0:0:0:0: [sda] 4096-byte physical blocks Feb 13 12:38:59 siso kernel: [821251.181271] sd 0:0:0:0: [sda] Write Protect is off Feb 13 12:38:59 siso kernel: [821251.182468] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Feb 13 12:38:59 siso kernel: [821251.639420] sda: sda1 Feb 13 12:39:00 siso kernel: [821251.644867] sd 0:0:0:0: [sda] Attached SCSI disk ちなみに、明示的なスキャンは以下のようにする。 # echo "- - -" > /sys/class/scsi_host/host0/scan SATAの場合?、コマンドライン中のhost0というのがSATAポートに1対1で対応しているようだ。なので、入れ替えた分だけ対応するSATAポートをピンポイントで指定しなければならない。試した限りでは、認識済みのhostXをscanしても問題はなさそうなので、ポートとhostの対応がわからなければ全hostXをscanしてもよいだろう。 host0の部分は適宜読み替えてくだしあ。sd 0:0:0:0の最初の数字がHBA番号だと思われる。 参考:稼働中のVMでホットスワップ 興味本位で稼働中のFreeBSD VMに対し、qm set vmid -scsi0 /path/to/diskでディスクを追加してみたら、ふつーにVM側でも追加が検出された。 VMのオプション設定で、ディスクのホットプラグが有効になってる必要があるとは思うが、VM側で仮想ディスクデタッチ→VM設定で仮想ディスクデタッチ→PVEで物理ディスクデタッチ、という流れでVMを動かしたままディスクのホットスワップができると思われる。 なお、VMのホットプラグはSCSIデバイスしか対応してないっぽい(virtio-scsiとの組み合わせで確認)。qm set vmid -sata0で後付けしてもVM側では検出されなかった。 参考サイト LinuxでHDDをホットリリース(電源切らずにディスクを抜き取る):ぴろにっき:SSブログ SATAの物理HDDをホットリリース(取り外し可能)にするホットプラグで抜き差し対応 - それマグで! virtualization/proxmox_ve_6_3_hotswap_hdd.txt 最終更新: 2021-03-11 16:09by Decomo