您的位置:首页 > 其它

Solaris更改文件系统大小

2013-02-20 09:27 204 查看
作为系统管理员的我们,经常遇到要增加或缩小某文件系统的需求。对于Unix上的主流OS以及linux来说,动态逻辑卷管理(LVM)能够很好的帮我们完成这个工作。但是对于不支持LVM的Solaris系统,只能用笨办法实现了。

假设一个工作场景,我需要在服务器硬盘上新增一个独立的文件系统,但是硬盘上已经没有可分配的自由空间。可选择的一种解决办法就是缩小已存在的某个文件系统,挤出一些自由空间。

硬盘现在已有三个文件系统(“/”,“/usr”,“/export/home”):
# df -h
Filesystem size
used avail capacity Mounted on
/dev/dsk/c0d0s0 5.8G 3.8G 2.0G 66% /

/dev/dsk/c0d0s3 6G 4G 2.0G 66% /usr
/dev/dsk/c0d0s7 12G 12M 11G 1%
/export/home
其中“/export/home”的容量最大,但已使用空间最少,选择缩小该文件系统以挤出自由空间。

以下是缩小文件系统步骤:

1、备份文件系统内容
# tar cvf /home.tar /export/home

2、卸载文件系统
# umount /export/home

3、修改/etc/vfstab,注释该文件系统项

# vi /etc/vfstab
#device device mount FS fsck mount mount
#to mount
to fsck point type pass at boot options
#
#/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7
/export/home ufs 2 yes -

4、用format缩小文件系统大小
# format

此处略去300字......
过程是将文件系统S7的容量设的小一些,可参考其他format命令文档设置。

5、用newfs重新格式化文件系统
# newfs c0d0s7
newfs: construct a new file
system /dev/rdsk/c0d0s7: (y/n)? y
Warning: 240 sector(s) in last cylinder
unallocated
/dev/rdsk/c0d0s7: 12594960 sectors in 2050 cylinders of 48
tracks, 128 sectors
6149.9MB in 129 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)

缩小后的文件系统是6G,释放了大约6G的自由空间。

6、恢复/etc/vfstab文件系统项
# vi /etc/vfstab

#device device mount FS fsck mount mount
#to mount to fsck point type
pass at boot options
#
/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs
2 yes -
将文件系统前的“#”注释符去掉

7、重新挂载文件系统
# mount /export/home

8、将备份恢复到文件系统下
# tar xvf /home.tar

9、既然有了6G的自由空间,剩下的事情就好办了,我就不赘述了。

增加文件系统大小的过程跟缩小基本相同,都遵循这个基本思路:
备份文件系统内容 --> 卸载文件系统 -->
更改文件系统大小 --> 重新格式化文件系统 --> 重新挂载 --> 恢复原来的备份到文件系统。

CUUG
更多oracle视频教程请点击:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息