Linux软件RAID 1 – 根文件系统在一个磁盘发生故障后变为只读

Linux软件RAID 1 – 根文件系统在一个磁盘发生故障后变为只读,第1张

概述Linux软件RAID 1锁定为只读模式 设置: RAID 1中的Centos 5.2,2 x 320 GB SATA驱动器. > / dev / md0(/ dev / sda1 / dev / sdb1)是 /启动 > / dev / md1(/ dev / sda1 / dev / sdb1)是一个LVM分区 包含/,/ data和swap分区 除swap之外的所有文件系统都是ext3 我们 Linux软件RAID 1锁定为只读模式

设置:
RAID 1中的Centos 5.2,2 x 320 GB SATA驱动器.

> / dev / md0(/ dev / sda1 / dev / sdb1)是
/启动
> / dev / md1(/ dev / sda1
/ dev / sdb1)是一个LVM分区
包含/,/ data和swap分区

除swap之外的所有文件系统都是ext3

我们在几个系统上遇到问题,其中一个驱动器上的故障将根文件系统锁定为只读,这显然会导致问题.

[root@myserver /]# mount | grep Root/dev/mapper/VolGroup00-LogVolRoot on / type ext3 (rw)[root@myserver /]# touch /footouch: cannot touch `/foo': Read-only file system

我可以看到数组中的一个分区出现故障:

[root@myserver /]# mdadm --detail /dev/md1/dev/md1:[...]          State : clean,degraded Active Devices : 1Working Devices : 1 Failed Devices : 1  Spare Devices : 0[...]    Number   Major   Minor   RaIDDevice State       0       0        0        0      removed       1       8       18        1      active sync   /dev/sdb2       2       8        2        -      faulty spare   /dev/sda2

重新安装为rw失败:

[root@myserver /]# mount -n -o remount /mount: block device /dev/VolGroup00/LogVolRoot is write-protected,mounting read-only

除非使用了–ignorelockingfailure(因为它们无法写入/ var),否则LVM工具会出错,但会将卷组显示为rw:

[root@myserver /]# lvm vgdisplayLocking type 1 initialisation Failed.[root@myserver /]# lvm pvdisplay --ignorelockingfailure  --- Physical volume ---  PV name               /dev/md1  VG name               VolGroup00  PV Size               279.36 GB / not usable 15.56 MB  Allocatable           yes (but full)  [...][root@myserver /]# lvm vgdisplay --ignorelockingfailure  --- Volume group ---  VG name               VolGroup00  System ID  Format                lvm2  Metadata Areas        1  Metadata Sequence No  4  VG Access             read/write  VG Status             resizable  [...][root@myserver /]# lvm lvdisplay /dev/VolGroup00/LogVolRoot --ignorelockingfailure  --- Logical volume ---  LV name                /dev/VolGroup00/LogVolRoot  VG name                VolGroup00  LV UUID                PGoY0f-rXqj-xH4v-WMbw-jy6I-nE04-yZD3Gx  LV Write Access        read/write  [...]

在这种情况下,/ boot(单独的RAID元设备)和/ data(同一卷组中的不同逻辑卷)仍然是可写的.从以前的出现,我知道重启会使系统备份一个读/写根文件系统和一个适当降级的RAID阵列.

所以,我有两个问题:

1)发生这种情况时,如何在没有系统重启的情况下将根文件系统恢复为读/写?

2)需要更改什么来阻止此文件系统锁定?由于单个磁盘上的RAID 1故障,我们不希望文件系统锁定,我们希望系统继续运行,直到我们可以更换坏磁盘.

编辑:我可以在teh dmesg输出中看到这个 – doe sthis表示/ dev / sda失败,然后/ dev / sdb上的单独失败导致文件系统被设置为只读?

sda: Current [descriptor]: sense key: Aborted Command    Add. Sense: Recorded entity not foundDescriptor sense data with sense descriptors (in hex):        72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00        00 03 ce 85end_request: I/O error,dev sda,sector 249477raID1: disk failure on sda2,disabling device.        Operation continuing on 1 devicesata1: EH completeSCSI device sda: 586072368 512-byte hDWr sectors (300069 MB)sda: Write Protect is offsda: Mode Sense: 00 3a 00 00SCSI device sda: drive cache: write backRAID1 conf printout: --- wd:1 rd:2 disk 0,wo:1,o:0,dev:sda2 disk 1,wo:0,o:1,dev:sdb2RAID1 conf printout: --- wd:1 rd:2 disk 1,dev:sdb2ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0ata2.00: irq_stat 0x40000001ata2.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 0         res 51/04:00:34:cf:f3/00:00:00:f3:40/a3 Emask 0x1 (device error)ata2.00: status: { DRDY ERR }ata2.00: error: { ABRT }ata2.00: configured for UDMA/133ata2: EH completesdb: Current [descriptor]: sense key: Aborted Command    Add. Sense: Recorded entity not foundDescriptor sense data with sense descriptors (in hex):        72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00        01 e3 5e 2dend_request: I/O error,dev sdb,sector 31677997Buffer I/O error on device dm-0,logical block 3933596lost page write due to I/O error on dm-0ata2: EH completeSCSI device sdb: 586072368 512-byte hDWr sectors (300069 MB)sdb: Write Protect is offsdb: Mode Sense: 00 3a 00 00SCSI device sdb: drive cache: write backata2.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0ata2.00: irq_stat 0x40000008ata2.00: cmd 61/38:00:f5:d6:03/00:00:00:00:00/40 tag 0 ncq 28672 out         res 41/10:00:f5:d6:03/00:00:00:00:00/40 Emask 0x481 (invalID argument) <F>ata2.00: status: { DRDY ERR }ata2.00: error: { IDNF }ata2.00: configured for UDMA/133sd 1:0:0:0: SCSI error: return code = 0x08000002sdb: Current [descriptor]: sense key: Aborted Command    Add. Sense: Recorded entity not foundDescriptor sense data with sense descriptors (in hex):        72 0b 14 00 00 00 00 0c 00 0a 80 00 00 00 00 00        00 03 d6 f5end_request: I/O error,sector 251637ata2: EH completeSCSI device sdb: 586072368 512-byte hDWr sectors (300069 MB)sdb: Write Protect is offsdb: Mode Sense: 00 3a 00 00SCSI device sdb: drive cache: write backAborting journal on device dm-0.journal commit I/O errorext3_abort called.EXT3-fs error (device dm-0): ext3_journal_start_sb: Detected aborted journalRemounting filesystem read-only
解决方法 你的dmesg输出应该给你一个指示,告诉它为什么它会发出PV信号故障;那应该不会发生.至于再次使系统可写,将VG和LV踢为只读然后再回读读写工作从内存开始,但真正的解决方案是让md不必要地停止担心LVM. 总结

以上是内存溢出为你收集整理的Linux软件RAID 1 – 根文件系统在一个磁盘发生故障后变为只读全部内容,希望文章能够帮你解决Linux软件RAID 1 – 根文件系统在一个磁盘发生故障后变为只读所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存