收藏---linux TB级磁盘操作方法

来源:互联网 发布:域名指向多个ip 编辑:程序博客网 时间:2024/05/14 06:26
原文地址:http://linux.chinaunix.net/bbs/viewthread.php?tid=666467&extra=&page=1
看来自己需要学习的还有很多很多~

尽可能在TB级存储上避免单独mkfs一个超大分区然后直接mount上.我估计你不是用ext2就是ext3.如果TB级的ext2/3直接单独挂上去后,以后会有数不清的麻烦的.从fsck开始到disaster recovery,从I/O blocking 开始到partition extending.

在生产环境下,正确的做法是:

1. upgrade你的linux kernel, errata到最新的, TB级存储,尽一切可能规避掉采用RedHat professional 之类的。RHEL, SLES是唯一的选择. FC也尽可能不要用.

2.如果你的服务器是x86的,不是EM64T/AMD64的(x86_64)的,你就创建LVM分区,每个大小控制在400GB以内(当然,到底最小的用多少,要到现场采用一定的方法和手段作应用级的性能评估才能确定的,这里就是假设你是最普通的应用). 我习惯把所有的分区和lvm操作都脚本化.所以我一般会切200G的LVM分区. 切多少个LVM partition,具体看你现在到底要用到多少,比如你现在只要用1TB,就切5x200GB出来,剩下的不要理它.

3. 把你前面切出来的LVM Partition 用 pvcreate 做成PV,然后把用vgcreate  vgname pv1 pv2 pv3... 把你这些pv都放到一个新建的vg中去

4. vg做好后,vgscan一下,如果没有activated, vgchange -a y 来激活, 然后lvcreate从这个1TB的vg中切出你要得lv出来. 比如就是 1TB的lv

5. 给这个lv 创建文件系统,我建议你好好看清楚自己的应用I/O行为到底是怎样的,如果是大块的顺序读,并且数据不需要太多的保护,直接用ext2是最优的选择,当然你linux玩的还过得去的话,我也建议你优先考虑xfs. 如果都是琐碎的不确定大小的文件,且随机读写操作频繁,建议用ReiserFS.最后考虑ext3.  (n多人上来就用默认的ext3, ext3性能很糟糕,而且日志只有metadata才做,data区没有日志机制保护的,不像ReiserFS, JFS, XFS那样).

6. 以后要扩容了,就fdisk你的LUN,切出新的LVM partition, 然后用 pvcreate newpv1 newpv2 做好pv,然后用vgextend vgname newpv1 newpv2 newpv3把新的pv扩进去

7. 扩好了vg, 不用umount你之前的1TB LV的mountpoint,直接lvextend +LE numbers  oldLV来热扩展你的LV,扩好了LV之后,用reiserfs.resize或者ext3.resize或者xfs_resize之类的动态的热扩展你的mountpoint上的fs

8.瞬间就可以做好n个TB上的存储管理.

看着挺烦德对巴,其实linux下面很容易做,也就个10分钟的事情.如果你的应用是生产环境的正规应用,忘掉你说的什么直接创建文件系统然后挂上去的做法把,这个是野路子的做法,基本上没有人在正规应用中这样操作TB级的linux存储管理的,主要的原因就是后患无穷。
原创粉丝点击