2009年5月22日星期五

mount 分区的问题

给Linux的根目录分了20G的大分区,但是感觉不大方便,现在硬盘还有空余,怎样能把/usr和/var独立出来?


问题补充:是我没有说清楚,我确实是想备份数据, 重新分区;现在可以fdisk新建两个20G的分区,但是不会把挂载点设置成/usr和/var,好让Linux启动的时候将那两个分区自动挂载,就像安装Linux时所设置的那样。希望能指教。

感谢帮助。

但是vim打开配置文件/etc/fstab时发现格式如下


UUID=****************************(一串字符) / ext3 defaults 1 1
UUID=**************************** /home ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=**************** swap swap defaults 0 0

您说的那两行该如何添加进去?前面不需要补充UUID么?



最佳答案
如果你用真实硬盘分区的话 不用加UUID , UUID不过是掩盖了真实分区的名字罢了 ,是每个分区的唯一序列,目前也就ubuntu采用UUID命名fstab , 新加的分区完全可以用 老的/dev/sdax的方式

当然 也可以用UUID方式

ls -l /dev/disk/by-uuid 查看各个分区的UUID 然后找例子添加到fstab即可
____________________________________________


哦 这个很容易了

按以下步骤进行即可
________________________
假设分区已经完成, 原分区 /dev/sda1 挂载到 / , 新的分区 /sda2 /sda3 尚未格式化及挂载 [分区设备名套用你自己的,我这边为了方面表述做得假设]

创建文件系统
#mkfs.ext3 /dev/sda2
#mkfs.ext3 /dev/sda3

挂载新的文件系统到临时创建的目录,准备转移数据
#mkdir /mnt/usr
#mkdir /mnt/var
#mount /dev/sda2 /mnt/usr
#mount /dev/sda3 /mnt/var
转移数据
#tar cfvp - /usr/* |(cd /mnt/usr ; tar xvfp -)
#tar cfvp - /var/* |(cd /mnt/var ; tar xvfp -)
验证转移过程是否完整 , 确保两行xxxxxxxxxxx,xxxxxx完全相同 var 也一样操作 不复述
#du -s /usr
xxxxxxxxxxx /usr
#du -s /mnt/usr
xxxxxxxxxxx /mnt/usr
#find /usr |wc -l
xxxxxx
#find /mnt/usr |wc -l
xxxxxx

修改fstab文件
vi /etc/fstab
添加如下的行

/dev/sda2 /usr ext3 noatime 0 0
/dev/sda3 /var ext3 noatime 0 0
_________________________________

然后 ,使用livecd启动 ,mount /dev/sda1 ,删除掉/usr /var目录, 重启 即完成迁移

最后一步 清理老的/usr /var 一定要在livecd中,否则会有文件被占用

_______________________



没什么不方便的, 非服务器用户 以及初学者 用一个大的/ 就可以了,分离对你来讲没必要

因为过程对新手来讲过于麻烦了..
linux下无损的调整分区并把剩余空间独立出来的前提是 你使用了LVM逻辑卷管理系统

否则的话 按照你的情况只有备份数据, 重新分区的方法

e2fsprogs调整分区大小局限性很大 ,很难做到不损数据

没有评论:

发表评论