Monday, 28 September 2020

GFS2の発掘

学生がないとか言ってたので。長いです。要するに GFS2 を cluster でなく single node で mount する方法。

1) iSCSI の配線

単にdumb hubで全部繋げる良いわけですが、broadcast ping で生きてることを確認します。ping -b ... ね。

なのだが、Equalogic のは複数あるポートでダメな方があるらしい。ping が返ってこなかったのはそれだった。付け替えてok。

2) LAN 側の配線

サーバなら普通にもう一つ Ethernet あるでしょ。そっちをつなげて、DHCPなり直打ちなりで。

3)
  iscsiadm -m discovery -t sendtargets -p 10.100.20.200
  iscsiadm -m node --login

で login できるはず。できない時はなんかのaccess制限がかかってる。今回は volume の access record に IP address が書いてあった。

4) で、もう見えてるはずなので。

  ls /dev/sd*

とか

  pvscan ; pvs -a

とか。これで見えるなら苦労しない。

5) GFS2 だと cluster ので cluster を組まないと見えない。でも、

/etc/lvm/archive/vg_whisky_00010-793111190.vg とかの

    status = ["RESIZEABLE", "READ", "WRITE", "CLUSTERED"]

を落とせば良いらしい。しかし...

  vgcfgrestore vg_whisky -f /etc/lvm/archive/vg_whisky_00017-1019350896.vg

で書き込めるなら苦労はない。 [ 7297.253396] blk_update_request: critical nexus error, dev sdc, sector 8
とか dmesg に出てる。

6) なんと、SCSIの reserve みたいな概念があるらしい。

 sg_persist --out --no-inquiry --register --param-sark=0xb8c90000 --device=/dev/sdb
 sg_persist --out --no-inquiry --clear --param-rk=0xb8c90000 --device=/dev/sdb
 sg_persist --in --no-inquiry --read-reservation --device=/dev/sdb

みたいにして、それをはずす。物理 volume 全部。

8) これで vg を書き込めるので、書き込んで

  pvscan
  vgscan
  vgchange -na
  lvchange -na

で logical volume が見えるはずです。でも、まだ、mount できない。GFS2: can't find protocol fsck_dlmと dmesg にでる。

7) 最後に lock protocol を使わずに mount すれば良いのだが、ググって出てくる

  gfs2_tool sb /dev/mapper/nasVG2-nasdb proto lock_none

というのは、Redhat 7 からはないので、

 mount -o lockproto=lock_nolock /dev/mapper/vg_whisky-lv_whisky /mnt/whisky/

で mount の option で渡す。はい。見えた? え、でも、この volume じゃないの? 先に言ってよ。

No comments: