使用Linux Software RAID设置可启动的多设备(RAID 1)
我正在尝试设置一个可启动的软件RAID,它将包含根文件系统并启动
Linux Mint Qiana.它将用于在小型数据中心中运行一些图形监控应用程序,以及用于访问其他LAN节点的简单终端.
我有两个500GB SATA驱动器(/ dev / sda和/ dev / sdb),我将用它来构建RAID 1阵列.似乎有很多方法可以做到这一点,但我有点不清楚如何创建一个可启动的md0设备. 我的第一种方法是使用Live Linux Mint安装CD启动.然后我会切换到bash提示符并使用sfdisk手动分区/ dev / sda.我创建了一个简单的分区表,其中包括一个主分区,以及一个交换分区.然后我简单地将分区表从/ dev / sda克隆到/ dev / sdb: sfdisk -d /dev/sda | sfdisk /dev/sdb 好的,现在我有两个驱动器可以组装成一个RAID阵列.我首先创建数组: mdadm --create --verbose --metadata=0.90 /dev/md0 --level=mirror --raid-devices=2 /dev/sda /dev/sdb 大约一个小时后,阵列完成同步. 我现在可以通过给它一个文件系统来初始化/ dev / md0: mke2fs -t ext4 /dev/md0 好的,现在一切似乎都很好.因此,我切换回Live CD安装,并将Linux安装到/ dev / md0.一切正常,直到安装程序尝试运行grub-install,之后它会收到致命错误. 所以,我一直在研究如何理解这里的原因.我不完全确定为什么会发生这种情况,但我的理解是它与“一个人不能简单地从/ dev / md0启动”这一事实有关.似乎为了创建可启动的多设备RAID 1阵列,您需要创建单独的非RAID /启动分区,或使用initramfs. 不幸的是,我并不完全理解这会带来什么.首先,我不想创建单独的非RAID /启动分区,因为从md0启动的整个启动是为了冗余.其次,我的理解是initramfs方法是在启动时将mdadm加载到rootfs中所必需的.但是,当我从Live CD启动并创建我的RAID阵列时,mdadm已经加载到内存中,所以我不明白为什么安装程序在运行grub-install时总是会出现致命错误. 有人可以解释我在这里缺少的步骤,或者提供一个如何设置可以启动的多设备挂载的概述吗? 解决方法
使用软件RAID启动几乎总是需要单独的/启动分区,尤其是旧版本的GRUB.在为/ boot创建RAID-1分区时,还需要指定“–metadata = 0.90”.
/ boot应该是第一个分区并且保持较小.主要是因为传统的BIOS启动原因. / boot应该是一个单独的分区的另一个原因是它通常应该以只读模式安装在/ etc / fstab中.在进行内核升级之前,您应该只以读写方式重新安装它. 我使用的典型驱动器设置是: /dev/sda1 + /dev/sdb1 = /dev/md0 Software RAID-1 with metadata 0.90 /dev/sda2 + /dev/sdb2 = /dev/md### Software RAID-1 with LVM on top 我总是使用/ dev / md0作为/ boot分区.对于LVM区域,我使用125以下的随机数作为mdadm设备#,主要是为了防止在启动时将该驱动器连接到不同的服务器(即在恢复期间通过USB). 在/ boot上设置RAID-1后,必须将GRUB安装到RAID-1阵列中的每个驱动器上. How to boot after RAID failure (software RAID)? 此特定示例显示如何设置3路RAID-1镜像,以便所有三个驱动器都可以使用GRUB启动. # grub grub> find /grub/stage1 (hd0,0) (hd1,0) (hd2,0) grub> device (hd0) /dev/sda grub> root (hd0,0) grub> setup (hd0) grub> device (hd0) /dev/sdb grub> root (hd0,0) grub> setup (hd0) grub> device (hd0) /dev/sdc grub> root (hd0,0) grub> setup (hd0) grub> quit (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 时钟文件中的Red Hat Linux TIME ZONE CONFIGURATION详细信
- linux – 关闭cp(copy)命令的交互模式(cp:overwrite?)
- linux – 如何在shell中创建数组?
- 2个Linux服务器之间的多线程文件同步
- linux – 编写脚本以使用预定义的密码创建多个用户
- linux – 自动“yum update”以保证服务器安全 – 优点和缺
- read命令_Linux read命令:读取从键盘或文件输入的数据
- linux – MongoDB进程每天都在关闭.怎么在服务器上永远运行
- linux – 使用Apache进行Subversion的Active Directory AD身
- 用cp命令拷贝文件,源目录后带不带斜杠的区别