在 FreeBSD 10.2 上掛載 iSCSI ext2 Linux 分區
我決定從 CentOS 切換到 FreeBSD 10,因為我在 Xserve G4 上安裝了它(PowerPC,如果有人感興趣,那是另一天的故事)。
無論如何,我的 CentOS 機器 (x86) 連接到一個 iSCSI 目標,該目標保存了我所有的數據。我現在正在嘗試將我的新 FreeBSD 機器連接到該 iSCSI 目標並安裝分區。
我連接目標沒有問題。發出命令
# iscsictl Result: Target name Target portal State iqn.2000-01.com.synology:diskstation.linuxserver diskstation.home Connected: da0
好的,所以我的驅動器已連接。如果我在該特定驅動器上執行 fdisk,我會看到 sysid = 131 這意味著它是一個 ext2/ext3 分區 - 這是正確的。
fdisk /dev/da0 ******* Working on device /dev/da0 ******* parameters extracted from in-core disklabel are: cylinders=1305 heads=255 sectors/track=63 (16065 blks/cyl) Figures below won't work with BIOS for partitions not in cyl 1 parameters to be used for BIOS calculations are: cylinders=1305 heads=255 sectors/track=63 (16065 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 131 (0x83),(Linux native) start 2048, size 20969472 (10239 Meg), flag 0 beg: cyl 1/ head 0/ sector 1; end: cyl 1023/ head 63/ sector 32
這就是問題所在。
當我嘗試掛載卷時,我收到一條錯誤消息“無效參數”
# mount -t ext2fs /dev/da0s1 /mnt mount: /dev/da0s1: Invalid argument
當我查看我的 /var/log/messages 時,我發現這條消息:
WARNING: mount of da0s1 denied due to unsupported optional features
我不知道它在尋找什麼論據,也不知道有任何“不受支持的可選功能”。
一個正確方向的點將不勝感激。
更新
根據手冊頁man ext2fs(5),我發出了以下命令以手動將 ext2fs 載入為核心可載入模組。
# kldload ext2fs kldload: can't load ext2fs: module already loaded or in kernel
因此,似乎支持已經存在,只是沒有連接。
回答
我在 FreeBSD 論壇上遇到了這個執行緒。雖然它在幾乎所有方面都與我的問題幾乎相同,但主要區別在於它參考的是 ext4,而不是 ext2。
由於 ext4 在技術上與 ext2/3 向後兼容,所以 II 決定抓住機會,看看我是否可以嘗試這個解決方案——它奏效了。
這是我安裝驅動器所做的
1)安裝fusefs-ext4fuse(使用ports方法)
cd /usr/ports/sysutils/fusefs-ext4fuse make install clean
Fuse 將在大約 20 秒內完成並安裝(這就是我所需要的)
然後我發出命令:
# kldload fuse
2)接下來,我將驅動器掛載到我之前創建的掛載點(該目錄必須存在)。
# ext4fuse /dev/da0s1 /mnt/linux
然後我遍歷目錄並列出內容
# cd /mnt/linux # ls .DS_Store ._foundation html .VolumeIcon.icns ._html lost+found ._. cgi-bin site-backups ._.DS_Store cron.log ._.VolumeIcon.icns foundation
有用!
- 接下來,我進入我的 NAS,創建了另一個 iSCSI 目標並使用 extFAT(或 Fat32)對其進行格式化,以便它在 Mac/Windows/Linux/FreeBSD 上兼容。然後,我將原始驅動器中的所有內容複製到具有更兼容格式的新驅動器中。
ext2fs 文件系統在 FreeBSD 上是可選的,需要載入。
添加以下行以
/boot/loader.conf
使其在啟動時載入:ext2fs_load="YES"