เป็นปัญหาที่ค่อนข้างบ่อยเมื่อมีสิ่งผิดปกติใน SAN สำหรับ ext3 เพื่อตรวจหาข้อผิดพลาดในการเขียนดิสก์และติดตั้งระบบไฟล์เป็นแบบอ่านอย่างเดียว นั่นคือทั้งหมดที่ดีและดีเฉพาะเมื่อ SAN ได้รับการแก้ไขฉันไม่สามารถหาวิธีการติดตั้งระบบไฟล์อ่าน - เขียนอีกครั้งโดยไม่ต้องรีบูตเครื่อง
ดูเถิด:
[root@localhost ~]# multipath -ll
mpath0 (36001f93000a310000299000200000000) dm-2 XIOTECH,ISE1400
[size=1.1T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=2][active]
\_ 1:0:0:1 sdb 8:16 [active][ready]
\_ 2:0:0:1 sdc 8:32 [active][ready]
[root@localhost ~]# mount /dev/mapper/mpath0 /mnt/foo
[root@localhost ~]# touch /mnt/foo/blah
ทุกอย่างดีตอนนี้ฉันดึง LUN ออกจากใต้มัน
[root@localhost ~]# touch /mnt/foo/blah
[root@localhost ~]# touch /mnt/foo/blah
touch: cannot touch `/mnt/foo/blah': Read-only file system
[root@localhost ~]# tail /var/log/messages
Mar 18 13:17:33 localhost multipathd: sdb: tur checker reports path is down
Mar 18 13:17:34 localhost multipathd: sdc: tur checker reports path is down
Mar 18 13:17:35 localhost kernel: Aborting journal on device dm-2.
Mar 18 13:17:35 localhost kernel: Buffer I/O error on device dm-2, logical block 1545
Mar 18 13:17:35 localhost kernel: lost page write due to I/O error on dm-2
Mar 18 13:17:36 localhost kernel: ext3_abort called.
Mar 18 13:17:36 localhost kernel: EXT3-fs error (device dm-2): ext3_journal_start_sb: Detected aborted journal
Mar 18 13:17:36 localhost kernel: Remounting filesystem read-only
มันแค่คิดว่าอ่านอย่างเดียว แต่ในความเป็นจริงมันไม่ได้อยู่ที่นั่น
[root@localhost ~]# multipath -ll
sdb: checker msg is "tur checker reports path is down"
sdc: checker msg is "tur checker reports path is down"
mpath0 (36001f93000a310000299000200000000) dm-2 XIOTECH,ISE1400
[size=1.1T][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=0][enabled]
\_ 1:0:0:1 sdb 8:16 [failed][faulty]
\_ 2:0:0:1 sdc 8:32 [failed][faulty]
[root@localhost ~]# ll /mnt/foo/
ls: reading directory /mnt/foo/: Input/output error
total 20
-rw-r--r-- 1 root root 0 Mar 18 13:11 bar
มันยังคงจำแฟ้ม 'บาร์' อยู่ที่นั่นได้อย่างไรลึกลับ แต่ไม่สำคัญตอนนี้ ตอนนี้ฉันนำเสนอ LUN อีกครั้ง:
[root@localhost ~]# tail /var/log/messages
Mar 18 13:23:58 localhost multipathd: sdb: tur checker reports path is up
Mar 18 13:23:58 localhost multipathd: 8:16: reinstated
Mar 18 13:23:58 localhost multipathd: mpath0: queue_if_no_path enabled
Mar 18 13:23:58 localhost multipathd: mpath0: Recovered to normal mode
Mar 18 13:23:58 localhost multipathd: mpath0: remaining active paths: 1
Mar 18 13:23:58 localhost multipathd: dm-2: add map (uevent)
Mar 18 13:23:58 localhost multipathd: dm-2: devmap already registered
Mar 18 13:23:59 localhost multipathd: sdc: tur checker reports path is up
Mar 18 13:23:59 localhost multipathd: 8:32: reinstated
Mar 18 13:23:59 localhost multipathd: mpath0: remaining active paths: 2
Mar 18 13:23:59 localhost multipathd: dm-2: add map (uevent)
Mar 18 13:23:59 localhost multipathd: dm-2: devmap already registered
[root@localhost ~]# multipath -ll
mpath0 (36001f93000a310000299000200000000) dm-2 XIOTECH,ISE1400
[size=1.1T][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=2][enabled]
\_ 1:0:0:1 sdb 8:16 [active][ready]
\_ 2:0:0:1 sdc 8:32 [active][ready]
เยี่ยมมาก มันบอกว่า [rw] ตรงนั้น ไม่เร็วมาก:
[root@localhost ~]# touch /mnt/foo/blah
touch: cannot touch `/mnt/foo/blah': Read-only file system
ตกลงไม่ทำโดยอัตโนมัติฉันจะให้มันเล็กน้อย:
[root@localhost ~]# mount -o remount /mnt/foo
mount: block device /dev/mapper/mpath0 is write-protected, mounting read-only
นรกที่คุณอยู่:
[root@localhost ~]# mount -o remount,rw /mnt/foo
mount: block device /dev/mapper/mpath0 is write-protected, mounting read-only
noooooooooo
ฉันได้ลองใช้คำสั่ง mount / tune2fs / dmsetup ที่แตกต่างกันทุกประเภทและฉันไม่สามารถหาวิธีที่จะทำให้แฟล็กอุปกรณ์บล็อกถูกยกเลิกการป้องกันการเขียนได้ การรีบูตเครื่องจะแก้ไข แต่ฉันต้องการทำออนไลน์มาก หนึ่งชั่วโมงของ googling ทำให้ฉันไม่มีที่ไหนเลย ช่วยฉัน ServerFault