在我在 Xserve G4(PowerPC,如果有人感兴趣的话,这是另一天的故事)上安装 FreeBSD 10 并获得了非常好的体验后,我决定从 CentOS 切换到 FreeBSD 10。
不管怎样,我的 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
我不知道它在寻找什么论点,也不知道有任何“不支持的可选功能”。
如果能指出正确的方向,我们将不胜感激。
更新
我发出以下命令来根据手册页手动加载 ext2fs 作为内核可加载模块人 ext2fs(5)。
# kldload ext2fs
kldload: can't load ext2fs: module already loaded or in kernel
因此,似乎支持已经存在,只是尚未连接。
答案1
答案2
回答
我遇到了这个线在 FreeBSD 论坛上。虽然它在几乎所有方面都与我的问题几乎相同,但主要的区别点是它涉及 ext4,而不是 ext2。
由于 ext4 在技术上向后兼容 ext2/3,因此我决定抓住机会,看看是否可以尝试这个解决方案 - 它有效。
这是我安装驱动器的方法
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
有用!
3) 接下来,我转到 NAS,创建另一个 iSCSI 目标并将其格式化为 extFAT(或 Fat32),以便它在 Mac/Windows/Linux/FreeBSD 之间兼容。然后,我将原始驱动器中的所有内容复制到具有更兼容格式的新驱动器。