您的位置:首页 > 运维架构 > Linux

Linux磁盘挂载--解决Linux扩容和磁盘IO负载问题

2018-03-05 08:59 555 查看

Linux磁盘挂载

解决扩容问题
        增量数据的情况下,使得硬盘容量满载
 
解决磁盘IO的负载问题
        现有的硬盘IO负载满载下,为了增加多个磁盘来分摊压力,如写入一个磁盘的目录下根据业务划分,写入挂载到不同磁盘的多个路径下,来达到磁盘IO的优化
 

一、   新增磁盘

1、 在所要添加磁盘的虚拟机上右键点击设置。



2、点击添加按钮。



 
3、选择硬盘,点击下一步



 
4、点击下一步。
 


5、根据自己的需要,选择新增磁盘的大小,点击下一步。



 
6、点击完成。



 
7.发现多了一块磁盘,点击确定,然后重启虚拟机。



 

二、磁盘分区

1、查看新硬盘,fdisk -l
 
    发现新添加的硬盘的编号为/dev/sdb 



 
2、开始对sdb硬盘进行分区

   fdisk  /dev/sdb 
 


   3 输入n进行分区 
 


   4、选择分区类型 
 
    这里有两个选项: 
Ø  p: 主分区, linux上主分区最多能有4个 ,编号从1到4.
Ø  e: 扩展分区, linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区。 
  这里我选择的p,创建主分区。 



 4 选择分区ID,由于我是第一次进行分区,创建1号主分区,所以我选择1. 


 5设置柱面起止位置,柱面越多,创建的主分区容量越大。默认起始位置为1,可直接回车。
接着选择终止位置,由于我们不知道每个柱面的单位是多少,所以不好直接填数字。我们可以在数字后面加单位,表示我们要创建多大的分区。比如我要创建的1号分区,大小为10G,就可以直接填+10G。



 6输入w,写入分区表,进行分区 
 


 7. 分区结束后,查看/dev目录 ,可以看到sdb和sdb1,分别表示sdb磁盘和sdb磁盘的1号主分区。
   


 
 8、格式化分区 ,将新分区格式化为ext4文件系统 
   
    mkfs -t ext4  /dev/sdb1 
    


 9、分区挂载(使用该分区)。
此时我们可以创建一个新目录,并把此目录挂载在这个分区上,往后这个目录下的所有数据就全部保存在sdb磁盘的1号主分区里。
    1) 创建目录(挂载点) 
       mkdir/testDir 
    2) 将/dev/sdb1挂载到/testDir 下 
     mount /dev/sdb1 /testDir



    3) 设置开机启动自动挂载 
             新创建的分区不能开机自动挂载,每次重启机器都要手动挂载。 
       所以为了方便,我们设置开机自动挂载,此时需要修改/etc/fstab文件 
      vim /etc/fstab 
在文件的最后增加一行 
      /dev/sdb1 /testDir ext4 defaults 1 2 



4)验证



        df命令查看一下,此时发现多了sdb1和 /testDir的信息。

三、LVM(逻辑卷管理)

       LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险;传统的分区当分区空间不足时,一般的解决办法是再创建一个更大的分区将原分区卸载然后将数据拷贝到新分区,但是在企业的生产系统往往不允许停机或者允许停机的时间很短,LVM就能很好的解决在线扩充空间的问题,而且不会对数据造成影响。PE(Physical Extend):卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储。PV(Physical Volume):物理卷,如果要使用逻辑卷,首先第一步操作就是将磁盘格式化成PVVG(Volume Group):卷组,VG就是将很多PE组合在一起生成一个卷组,当然这里的PE是可以跨磁盘的,如果当前服务器磁盘空间不足就可以增加一个新磁盘对当前系统不会产生任何影响。LV(Logical Volume):逻辑卷,逻辑卷最终是给用户使用的,前面几个都是为创建逻辑卷做的准备,创建逻辑卷的大小只要不超过VG剩余空间就可以。
查询卷组的信息
命令:vgdisplay
 


      从图中我们可以看到,此台虚拟机已经存在一个卷组了vg_name:vg_hadoop20,(注意:这是由于我们在创建虚拟机的时候,系统已经默认帮我们创建了一个);并且卷组的总容量是19.51GB,PE的大小为4MB,剩余的PE个数/容量为0.
查看磁盘分区情况:



       从图中可以看到,/根目录是挂载在逻辑卷/vg_hadoop20-lv_root上的。现在假设这样一个场景,我要对/目录进行扩容。
 要对根目录扩容,就是增加逻辑卷的容量,逻辑卷的容量是由卷组分配的,但是从vgdisplay命令查到,卷组没有剩余容量了,所以我们应当先对卷组进行扩容。
 对卷组扩容:
1)先创建一个分区并初始化。(见磁盘分区)



 
如果在保存分区的时候(输入W阶段),出现以下警告,可重启机器(不推荐)或者使用命令:partx -a /dev/sdb2 /dev/sdb,将新建的分区信息同步到内核。
2)将初始化的分区加入到卷组里
vgextendvg_hadoop20 /dev/sdb2



命令执行完后,我们可以看下效果,vgdisplay



         可以看到,卷组总容量增加了,剩余的空间为9.98GB.
  对逻辑卷扩容:
现在卷组有剩余空间了,我们就可以增加逻辑卷的容量了,从而达到对根目录扩容的目的。
1)新增5GB容量给逻辑卷/dev/mapper/vg_hadoop20-lv_root
[b] 


     命令:lvextend-L +5G /dev/mapper/vg_hadoop20-lv_root



2)重新设定该分区的大小
resize2fs -p  /dev/mapper/vg_hadoop20-lv_root



3)查看结果:df-h



由图可见,逻辑卷vg_hadoop20-lv_root 由18GB扩到了23GB,扩容成功
        
                        
 转载请注明出处: http://blog.csdn.net/jackie_zhf/article/details/79441683

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: