Ini adalah masalah yang relatif umum ketika ada kesalahan dalam SAN untuk ext3 untuk mendeteksi kesalahan penulisan disk dan remount sistem file read-only. Itu semua baik dan bagus, hanya ketika SAN diperbaiki saya tidak tahu bagaimana cara me-mount kembali filesystem read-write tanpa me-reboot.
Melihat:
[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
Semua baik, sekarang saya mencabut LUN keluar dari bawahnya.
[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
Ia hanya berpikir itu hanya baca, pada kenyataannya itu tidak ada di sana.
[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
Bagaimana ia masih ingat file 'bar' itu ada di sana ... misteri, tetapi tidak penting sekarang. Sekarang saya menyajikan ulang 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]
Bagus bukan? Dikatakan [rw] di sana. Tidak terlalu cepat:
[root@localhost ~]# touch /mnt/foo/blah
touch: cannot touch `/mnt/foo/blah': Read-only file system
OK, tidak melakukannya secara otomatis, saya hanya akan memberikan sedikit dorongan:
[root@localhost ~]# mount -o remount /mnt/foo
mount: block device /dev/mapper/mpath0 is write-protected, mounting read-only
Anda adalah:
[root@localhost ~]# mount -o remount,rw /mnt/foo
mount: block device /dev/mapper/mpath0 is write-protected, mounting read-only
Tidaaaaaaaak
Saya telah mencoba segala macam perintah mount / tune2fs / dmsetup yang berbeda dan saya tidak dapat menemukan cara untuk menghapus centang pada perangkat blok sebagai dilindungi dari penulisan. Reboot akan memperbaikinya, tapi saya lebih suka melakukannya secara online Satu jam pencarian Google juga membuat saya tidak punya tempat. Simpan saya ServerFault.
Jawaban:
Saya baru-baru ini mengalami masalah ini dan menyelesaikannya dengan me-reboot tetapi setelah penyelidikan lebih lanjut tampaknya mengeluarkan perintah berikut mungkin memperbaikinya.
Saya pikir Anda mungkin ingin melihat pada bagian 25.14.4: Mengubah Status Baca / Tulis dari Unit Logika Online dalam dokumen ini , namun, saya sarankan untuk me-reboot.
sumber
Coba gunakan:
sumber
mount -rw /mnt/foo
, jadi yang ini terlihat paling tepat untukku.Saya penggemar mencegah masalah ini sejak awal. Sebagian besar kotak UNIX perusahaan akan mencoba kembali operasi sistem file seperti selamanya. Anda sebagai administrator perlu melakukan beberapa pekerjaan rumah sebelum mengatur konfigurasi MPIO Anda. Jika aplikasi Anda harus menunggu hingga perangkat kembali ke kondisi yang dapat digunakan, maka inilah solusinya. Di /etc/multipath.conf Anda pastikan bahwa tipe perangkat yang Anda pedulikan memiliki pengaturan untuk "no_path_retry" disetel ke "antrian". Pengaturan ini akan menyebabkan I / O gagal untuk mengantri sampai ada jalur yang valid. Kami telah melakukan ini untuk kotak EMC Symmtrix / DMX kami untuk mengatasi masalah dalam kondisi tertentu drive / controller / srdf kegagalan jalur / pemulihan.
Pendekatan ini telah menghemat bacon kami berkali-kali dan merupakan standar kami untuk ratusan kotak pada SAN multicabinet / multivendor dengan replikasi untuk pemulihan bencana.
Kupikir aku mungkin berbagi dengan kalian semua. Hati hati.
sumber
Saya memiliki beberapa masalah, yang saya atasi menggunakan hdparm dengan
-r
opsi pada subdrives logis, perangkat multipath.sumber
Apakah menurut Anda ini terkait dengan bagian dalam dokumen ini berjudul Mengapa sistem file ext3 di Storage Area Network (SAN) saya berulang kali menjadi hanya-baca ?
Ini adalah artikel yang cukup lama, dan berbicara tentang saluran serat, tetapi mungkin terkait dengan masalah Anda.
sumber
Sistem file rusak? Mencoba:
Jika bersih dengan kesalahan, maka Anda perlu memindai dan membersihkan.
sumber
Linux tidak cukup baik dalam mengatasi SAN skala menengah-besar. Anda HARUS memberikannya perhatian dan menyempurnakan timeout IO dan penanganan multipath timeout, semuanya cukup banyak pada standar desktop-ready.
(Ingat "menolak IO ke perangkat mati"?)
sumber