mseSTA 版 (精华区)
发信人: wizard (Python), 信区: mseSTA
标 题: Re: 搞定linux xfs文件系统,发文庆贺一下
发信站: BBS 听涛站 (Tue Apr 6 20:26:00 2004), 站内
整个过程中走了一些弯路,主要是对于之后出现的情况估计不足造成的,不过好在我
对GRUB很熟悉,所以很快就解决了
必要工作,编译内核,安装xfsprogs,建议安装attr
一开始当然是要把整个文件系统都备份了的,除了 /mnt /proc 之外的都要备份
用命令cp -rfdp 把要备份的东西拷到备份介质中去。注意不要循环拷贝就行了
不用担心,如果你不幸用了的话,cp会出错返回的,告诉你循环拷贝了
然后是设置grub,因为要用备份的系统来引导(原因是我的引导光盘不支持xfs只好酱紫)
在grub的命令行下重新把grub装到引导扇区,因为/boot的位置变了。
因为不同机器参数略有不同,所以这里略过,详细请info grub
然后修改grub.conf使备份的系统可以引导
接着要设置fstab,因为根分区以及其它重要分区的位置都变了。
把mount point都改对了
重启,用备份的系统引导(记得先要编译XFS支持哦,最好直接编进内核)
起来后,用mkfs.xfs把原来的系统用的分区改成XFS,然后mount 好
我的原来的fstab
/dev/hdc3 / reiserfs defaults 0 0
/dev/hdc2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0
/dev/hdc1 /boot reiserfs defaults 0 0
/dev/hdc7 /usr reiserfs defaults 0 0
/dev/hdc6 /var reiserfs defaults 0 0
/dev/hdc5 /home reiserfs defaults 0 0
操作如下(如果你的分区不同,相应的改动就可以了)
# cd /mnt
# mkdir sysroot
# cd sysroot
# mkdir boot var usr home
# mount /dev/hdc1 -t xfs boot
# mount /dev/hdc5 -t xfs home
# mount /dev/hdc6 -t xfs var
# mount /dev/hdc7 -t xfs usr
接着用开始的时候备份文件系统相同的办法把备份的文件系统都拷贝到sysroot下就行了
然后重新把grub改回来,改grub.conf最后把fstab中的文件系统类型改成xfs就行了
重启,如果没有出问题的话,就万事大吉了。
这样倒腾系统需要对引导程序很熟悉才行,不然很容易起不来的
PS:重要的一点差点忘了,xfs_stage_1_5是必须放到grub的安装文件夹的,
就是grub.conf所在的地方,我的是/boot/grub,不过这个不是一定的,你要原意的话
放在/boot下也行,不过安装的时候注意就行了
刚开始的时候我在实验室,想远程搞定,结果证实我太低估了实际情况了,开始我用
chroot到备份的系统,以为这样就可以任意操作分区了。然后决定先拿/var开刀
# chroot /opt/sysroot
# umount /dev/hdc6
结果这个地方出错了,说/var没有mount
当时没有想太多,干脆dd if=/dev/zero of=/dev/hdc6
想先清0/dev/hdc6然后格式化,结果mkfs.xfs死活过不去,-f都不行
说/dev/hdc6已经mount了,其实当时把/etc/mdtab中的/dev/hdc6的那行删掉,
应该可以骗过mkfs.xfs的,然后火了就mkreiserfs了,想先格式化一下看看
然后因为/var分区突然没有了,所以ssh中断了,然后就回来做了上面的工作...
这些算是经验吧,希望大家不要走弯路。不知道redhat的光盘引导的时候是不是支持
XFS呢?我的debian是不行了:-(所以才这么费周折了,要能用光盘引导就可以把备份
系统拷过去了
【 在 wizard (Python) 的大作中提到: 】
: 大名鼎鼎的XFS啊,毕竟曾经是SGI工作站上用的文件系统,我想稳定性肯定会比ReiserFS
: 好一些的,想起前一阵的rebuild tree还是有恐惧感的
: 权限管理更灵活了,可以单独对用户限制,又找到当年用sun的工作站的感觉了,呵呵
: 以后的服务器可以考虑使用这个文件系统的,ReiserFS小文件性能相当好,XFS比较均衡
: 不过似乎默认的内核是不支持的,要重新编译的。这样要弄一遍就比较麻烦了,
: 可以考虑主文件系统用XFS,然后服务的硬盘用XFS,虽然有时侯ReiserFS会偶尔出一些
: 恶心的问题,就是部分文件出现乱码,非正常关机造成的,不过不算常见(也让我给碰到
: 了)
: EXT3似乎在数据库方面上表现不错
: ReiserFS用来作根文件系统还是不错的,因为小文件性能相当出众了。根文件系统就是
: 小文件多,那些配置文件大都在1k左右的。
: ...................
--
(defun power-set (set)
(if (null set) '(())
(let ((pset-of-rest (power-set (cdr set))))
(append
(mapcar #'(lambda (subset) (cons (car set) subset))
pset-of-rest) pset-of-rest))))
※ 修改:·wizard 于 Apr 6 20:41:17 修改本文·[FROM: 219.224.175.139]
※ 修改:·wizard 于 Apr 6 22:33:16 修改本文·[FROM: 219.224.175.139]
※ 修改:·wizard 于 Apr 6 22:34:10 修改本文·[FROM: 219.224.175.139]
※ 修改:·wizard 于 Apr 6 22:35:49 修改本文·[FROM: 219.224.175.139]
※ 来源:·BBS 听涛站 tingtao.net·[FROM: 219.224.175.139]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.566毫秒