Raid

Slackware 14.1 軟體 raid 核心恐慌無法掛載 root fs

  • February 9, 2015

嘗試將 slackware 安裝到 2 個 2TB 驅動器上的 raid 1。

我按照官方自述文件

我有兩個驅動器,sda並且sdb. 它們每個都有兩個分區,一個用於/(50GB),一個用於/home(其餘驅動器,~1950GB)無交換,具有 32GB 記憶體。

我在實時發行版中使用 gparted 對它們進行了分區,就像我在 slackware 設置中使用 那樣進行分區時cfdiskfdisk -l會說分區“不是從物理扇區邊界開始”,而且我不擅長 fdisk(試圖獲得尾隨的 100MB自述文件建議的是那裡的難點)

所以我對磁碟進行了分區,使兩個分區都為 RAID 1,結果是/dev/md0/dev/md1. 我繼續安裝,一切順利。設置完成後,我修改lilo.conf、設置boot = /dev/md0raid-extra-boot = mbr-only

重新啟動,lilo 出現,開始啟動 slackware,然後我得到

md: autodetecting RAID arrays.
md: Scanned 0 and added 0 devices
...
REISERFS warning (device md0): sh-2006 read_super_block: bread failed (dev md0, block 2, size 4096)
REISERFS warning (device md0): sh-2006 read_super_block: bread failed (dev md0, block 16, size 4096)
...
EXT4-fs (md0): unable to read superblock
...
Please append a correct "root=" boot option ...
...
kernel panic-not syncing VFS:unable to mount root fs on unknown-block(9,0)

所以它似乎沒有正確檢測到突襲。

如果我啟動 parted magic 或 slackware 設置,它確實會找到/dev/md0.

我對 Slackware 不熟悉,但是如果您的 initramfs 沒有正確檢測到 raid,您可以嘗試使其與核心的 raid 自動檢測一起工作。為此,請將分區類型設置為 0xFD。我不確定數字,使用lfdisk 或 gdisk 中的命令查找“raid autodetect”分區類型。

我不確定,但可能是 slackware 重命名了您的 RAID 分區。您是否在 initrd 中指定了 mdadm.conf(如果您使用)?

我有一份使用 grub 在 raid 上安裝 slackware 的工作手冊:

創建掛載usb和iso的目錄

1  mkdir 111 222 
2  mount /dev/sdc1 111/
3  mount -o loop 111/boot/slackware-current-install-dvd.iso 222/

複製標記文件和 grub 配置

4  cp 111/min_slack_tagfiles.tar.gz tag/
5  cp 111/boot.tar.gz tag/

如果需要,停止所有目前陣列

6  mdadm --stop /dev/md0
7  mdadm --stop /dev/md1
8  cat /proc/mdstat 

創建新的分區表。使用 MBR 時,您需要在第一個分區之前至少有 1M,或者在使用 softraid 和/或 lvm 安裝較新的 grub 版本時,在 GPT 下有一個專用的 1M+ grub bios 分區。

9   fdisk -l
10  fdisk /dev/sda

將分區表複製到其他磁碟

11  sfdisk -d /dev/sda | sfdisk /dev/sdb

並創建數組。metadata=0.90 的數組必須是可引導的(在 linux 的引導目錄中必須掛載在此處)。

12  mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda2 /dev/sdb2 
13  cat /proc/mdstat 
14  mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
15  cat /proc/mdstat 

等到數組完成

16  watch  cat /proc/mdstat 

執行 slackware 設置實用程序

17  setup 

將基本配置複製到新系統。

18  cp /tag/boot.tar.gz /mnt/root/

將陣列配置添加到新系統的 mdadm.conf

19  mdadm --detail --scan >> /mnt/etc/mdadm.conf 

chroot 進入新系統

20  chroot /mnt/

將 grub 安裝到磁碟

21  grub-install --no-floppy /dev/sda              
22  grub-install --no-floppy /dev/sdb              

解壓 grub 和 mkinitrd 的基本配置

23  cd root/                                       
24  tar xf boot.tar.gz                             

貓配置

25  cp grub.cfg /boot/grub/                        
26  cp mkinitrd.conf /etc/                         

編輯 grub 配置

27  cd /boot/grub/                                 
28  vim grub.cfg                                   

創建 initrd 映像

29  mkinitrd -F                                    
30  cp /etc/mkinitrd.conf /boot/initrd-tree/etc/   
31  mkinitrd                                       

退出 chroot

32  exit                                           

重啟到新系統

33 reboot

祝你好運!

引用自:https://unix.stackexchange.com/questions/183784