我build立了一个新的服务器(我的第一个Linux版本)。 我在一台旧机器上安装了一对160 GB的空白SATA硬盘(一个Seagate和一个WDC,但是LBA扇区的数量完全相同),并着手将Scientific Linux 7.0(更名为RHEL)安装在RAID 1(软件镜像)configuration。
第一次打嗝是我无法弄清楚如何让SL / RHEL安装程序(Anaconda)为RAID1设置两个驱动器。 所以我从PartedMagic光盘启动,并用它来进行分区。
我将这两个驱动器分隔开来。 每个驱动器都有一个用于安装在/ RAID1 + ext4的大分区,安装在/safe一个用于RAID1 + ext3的小(当前未使用的)分区以及一个3GB的Linux交换分区。 我使用fdisk将每个驱动器上的RAID分区的types更改为FD,而使用mdadm来构buildRAIDarrays:
mdadm --create --verbose /dev/md0 --raid-devices=2 --level=1 /dev/sda1 /dev/sdb1 mdadm --create --verbose /dev/md1 --raid-devices=2 --level=1 /dev/sda2 /dev/sdb2
然后我closures,启动SL DVD,并再次尝试安装。 这次安装程序识别RAID1arrays,分别格式化为ext4和ext3,并顺利安装。
在这一点上,一切似乎没问题。 我把它关掉了,再次启动了,它启动正常。 到现在为止还挺好。
于是我testing了RAID1的function:我closures了电脑,取下了其中一个驱动器,并尝试启动它。 我期待它显示有关RAIDarrays降级的错误消息,然后进入正常的login屏幕。 但它没有工作。 相反,我得到了:
Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode. Give root password for maintenance (or type Control-D to continue):
无论哪个驱动器丢失,都会发生同样的情况。
这不好! 镜像驱动器的目的是确保如果其中一个驱动器发生故障,服务器将继续运行。
Ctrl-D让我回到重复的“ Welcome to emergency mode ”屏幕。 那么input我的root密码,然后input“ systemctl default ”。
所以然后我尝试了一个实验。 在启动菜单中,我按e编辑内核启动参数,并将“ rhgb quiet ”更改为“ bootdegraded=true ”,然后启动。 没有快乐。
这让我看到更多的状态消息飞行,但它没有启用机器正常启动时,一个驱动器丢失。 它仍停在“ Welcome to emergency mode ”屏幕。 以下是我看到希捷驱动器被删除,WDC驱动器剩余。 最后几行看起来像下面(除了“….”表示我厌倦了打字):
[ OK ] Started Activation of DM RAID sets. [ OK ] Reached target Encrypted Volumes. [ 14.855860] md: bind<sda2> [ OK ] Found device WDC_WD1600BEVT-00A23T0. Activating swap /dev/disk/by-uuid/add41844.... [ 15.190432] Adding 3144700k swap on /dev/sda3. Priority:-1 extents:1 across:3144700k FS [ OK ] Activated swap /dev/disk/by-uuid/add41844.... [ TIME ] Timed out waiting for device dev-disk-by\x2duuid-a65962d\x2dbf07.... [DEPEND] Dependency failed for /safe. [DEPEND] Dependency failed for Local File Systems. [DEPEND] Dependency failed for Mark the need to relabel after reboot. [DEPEND] Dependency failed for Relabel all file systems, if necessary. [ 99.299068] systemd-journald[452]: Received request to flush runtime journal from PID 1 [ 99.3298059] type=1305 audit(1415512815.286:4): audit_pid=588 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1 Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode. Give root password for maintenance (or type Control-D to continue):
所以看起来,在RAID1镜像驱动器上安装会使驱动器故障的几率增加一倍,导致服务器故障(因为有两个驱动器而不是一个驱动器)。 这不是我希望实现w /镜像驱动器。
有谁知道如何启动和运行“正常”(与降级RAID1arrays)当硬盘驱动器出现故障?
另外两个笔记:
我是RHEL / SL / CentOS 7的新手,所以在“软件select”屏幕上,SL安装期间,我不得不做一些猜测。 我select:“通用系统”+ FTP服务器,文件和存储服务器,办公套件和生产力,虚拟化pipe理程序,虚拟化工具和开发工具
我看到一些明显无害的错误:
ATA x : softreset failed (device not ready)
“ x ”取决于安装了哪些驱动器。 安装了两个驱动器的错误比仅使用一个更多。
事实certificate,问题不是主要的RAID1分区,而是其他分区。
首先,我不应该使用交换分区。 那真是愚蠢。 即使这样做有效,如果磁盘驱动器在交换分区内开发出坏块,仍然可能会使系统容易出现故障。 在RAID1分区上使用交换文件显然更好; 我不知道我在想什么。
但是,“extra”ext3 md1分区也是一个问题。 我不知道为什么。
一旦从/etc/fstab删除了对其他分区(两个交换分区和ext3 md1分区)的引用,系统就可以用一个驱动器启动,在降级模式下运行RAID1arrays,就像我想要的那样。
closures并重新安装丢失的驱动器后,我再次启动机器,并且仍然只运行一个驱动器。 但是我做了“ mdadm --add ”来添加失踪的驱动器,状态进行了“ spare rebuilding ”一段时间,然后进入“ active 。
换句话说,它是完美的。