收藏---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存储管理的,主要的原因就是后患无穷。
看来自己需要学习的还有很多很多~
尽可能在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存储管理的,主要的原因就是后患无穷。
- 收藏---linux TB级磁盘操作方法
- Linux系统格式化大于2TB数据盘操作方法
- linux配置-磁盘
- Linux调整磁盘格式为GPT,格式化2TB以上的磁盘
- Linux常用命令-Linux磁盘管理
- Linux命令--磁盘管理
- Linux学习笔记8-磁盘基本概念
- linux 磁盘性能fio-hdd
- 如何在 Linux 中添加一块大于 2TB 的新磁盘
- GUID partition table, GPT 磁盘分区表(在Linux中添加一块大于 2TB 的新磁盘)
- 数据库操作方法示例--DataReader
- Vmware 中挂接第二个SCSI硬盘的操作方法--linux 系统
- FTPHelper-FTP帮助类,常用操作方法
- Xen虚拟机添加磁盘操作方法
- 使用clonezilla-再生龙 备份还原linux 磁盘、分区
- TB级 PostgreSQL 拾零
- Linux中vi命令详解--收藏
- Linux中vi命令详解--收藏
- __cdecl与 __fastcall与 __stdcall调用约定
- 浅谈ASP.NET中三层结构
- 第一次面试总结
- IE提示“Internet Explorer无法打开站点XX,已终止操作”的解决办法
- asp页面缓存问题
- 收藏---linux TB级磁盘操作方法
- linux图形界面编程基本知识
- c#中的有用的方法
- 学习中间件ICE笔记(初学者必读)
- java经典的基础题目
- ASP.NET生成高质量缩略图通用函数(c#代码)
- .NET牛人应该知道些什么
- 能爱的时候,一定要敢爱。
- 数据库原理与应用 看书笔记~