iSCSI target restart
事象
code:bash
Warning FailedMount 68s (x2 over 3m10s) kubelet MountVolume.SetUp failed for volume "pvc-6ffeeafe-d8c3-49ac-8e84-04a7b5029fdd" : rpc error: code = Internal desc = mount check failed: target=/var/lib/kubelet/pods/50360bce-0c84-4345-8caa-b5f3271dfd90/volumes/kubernetes.io~csi/pvc-6ffeeafe-d8c3-49ac-8e84-04a7b5029fdd/mount, error=lstat /var/lib/kubelet/pods/a8830d53-8a4e-4c32-9b31-63ea999293b8/volumes/kubernetes.io~csi/pvc-6ffeeafe-d8c3-49ac-8e84-04a7b5029fdd/mount: input/output error
これはあかんね
トラシュ
iSCSIのセッションが切れているなら復活させる
code:bash
$ sudo iscsiadm -m discovery -t sendtargets -p <QNAP FQDN>
$ sudo iscsiadm -m node --login -p <QNAP FQDN>
あたらしくマウントされたので、LVMとして認識させる デバイス名が変わっていてもUUIDで追従してくれた
code:bash
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 260G 0 disk
(以前はsdbで名前が変わってしまった)
$ sudo pvscan --cache
$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/sda
VG Name iscsi-renjo-vg
勝手にはリマウントしてくれないので、umountしてからPodを再起動する
code:bash
$ sudo umount /var/lib/kubelet/pods/a8830d53-8a4e-4c32-9b31-63ea999293b8/volumes/kubernetes.io~csi/pvc-6ffeeafe-d8c3-49ac-8e84-04a7b5029fdd/mount
$ kubectl delete pod -n namespace-foo pod-bar
正しくumount出来ていればPVCのfinalizerが正常に動作してPodも綺麗に消えるはず。
Deploymentなどで作成されたPodであればそのまま復活してくる