CentOS6.X 新磁盘建LVM

linux服务器新添加一块硬盘,可以直接将盘格式化挂载就能用,比如挂载在/usr/local目录,但是这样有一个弊端,就是如果这一块磁盘满了,后续想要扩容的话,不能继续挂载这个/usr/local挂载点上,对扩容造成一定的麻烦,为此我们建议采用lvm的方式,这样可以支持动态扩容磁盘。下面介绍详细的操作方式:

1、查看当前分区信息

[[email protected] ~]$ sudo fdisk -l #注意需要root权限
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0001598a

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048     8390655     4194304   82  Linux swap / Solaris
/dev/vda2   *     8390656    83879935    37744640   83  Linux

# 下面这段信息为新加的500G磁盘
Disk /dev/vdb: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9eec985f

2、对该磁盘进行分区

[[email protected] ~]$ sudo fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Partition number (1-4, default 1): 
First sector (2048-1048575999, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1048575999, default 1048575999): 
Using default value 1048575999
Partition 1 of type Linux and of size 500 GiB is set

Command (m for help): w

上面操作步骤解释如下:

  1. 输入:n【表示创建一个新的分区(new的意思)】
    询问我们是要创建主分区还是扩展分区,主分区最多只能创建4个,如果创建了扩展分区那么扩展分区需要占用一个主分区。
    注意: 扩展分区从5开始,无论主分区有没有达到4个。
  2. 输入:p【表示创建一个基本分区(p是基本分区,e是扩展分区)】
  3. 选择分区编号,1~4,默认使用1,直接按回车即可。
  4. 选择分区起始点,使用默认即可,直接按回车。
  5. 选择分区终点,使用默认即可,直接按回车
  6. 分区完成,输入w保存退出。
  7. 输入m查看帮助,帮助信息如下:
    a :设置可引导标记
    b :修改bsd的磁盘标签
    c :设置DOS操作系统兼容标记
    d :删除一个分区
    l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
    m :显示帮助信息
    n :增加一个新的分区
    o :创建一个新的空白的DOS分区表
    p :显示磁盘当前的分区表
    q :退出fdisk程序,不保存任何修改
    s :创建一个新的空白的Sun磁盘标签
    t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
    u :改变显示记录单位
    v :对磁盘分区表进行验证
    w :保存修改结果并退出fdisk程序
    x :特殊功能
    ``` 
    

3、更改分区编号

[[email protected] ~]$ sudo fdisk /dev/vdb 
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
...

我们需要将分区类型改成linux lvm卷才能创建lvm,通过下面4步完成:

  1. Command (m for help): t #更改分区编号
    Selected partition 1
  2. Hex code (type L to list all codes): L #查看所有编号
  3. Hex code (type L to list all codes): 8e #将分区类型改成LinuxLVM
    Changed type of partition ‘Linux LVM’ to ‘Linux LVM’
  4. Command (m for help): w #写入磁盘(write)

操作如下图:
这里写图片描述

4 、pv、vg和lv的关系:

  • 一个硬盘分区组成一个pv(物理卷)
  • 一个或者多个pv组成一个vg(卷组)
  • 一个vg可以划分出多个lv(逻辑卷)

5、创建pv

[[email protected] ~]$ sudo pvcreate /dev/vdb1

注意:这里是为磁盘分区vdb1创建pv,千万别写成vdb了。

6、创建vg

[[email protected] ~]$ sudo vgcreate vg01 /dev/vdb1 #vg01为逻辑卷组名称

7、创建lv

[[email protected] ~]$ sudo lvcreate -L 200G -n lv_data vg01
  • -L:后面是要分给lv的大小,注意lv会耗费不到100MB,因此要-L后面跟的要小于1TB。
  • -n:新建一个名字为lv_data 的lv

8、格式化lv

[[email protected] ~]$ sudo mkfs.ext4 /dev/vg01/lv_data

9、磁盘挂载

9.1、开机自动挂载磁盘

在/etc/fstab文件最后,加入一行如下代码:

[[email protected] ~]$ sudo echo '/dev/vg01/lv_data	/data	ext4	defaults	0 0' >> /etc/fstab

这段代码解释如下:

第一列:要挂载的磁盘
第二列:挂载点
第三列:文件类型
第四列:挂载选项,详细参考man mount. 下面列出一些常用的选项: 
   auto: 系统自动挂载,fstab默认就是这个选项 
   ro: read-only 
   rw: read-write 
   defaults: rw, suid, dev, exec, auto, nouser, and async. 
第五列:为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。
第六列:为fsck选项,告诉fsck程序以什么顺序检查文件系统,0为忽略。

9.2、重新挂载

[[email protected] ~]$ sudo mkdir /data
[[email protected] ~]$ sudo mount -a

10、检查是否挂载成功

[[email protected] ~]$ sudo df -h

11、扩容

  • 添加新磁盘,参考新磁盘建LVM
  • 用原磁盘剩余容量扩容
    聪明的你可能已经发现,我们刚刚新添加了一个500G的磁盘,但是我们只用了200G,我们可以通过下面这几步扩容:
    [[email protected] ~]$ sudo lvextend -L +100G /dev/vg01/lv_data
    [[email protected] ~]$ sudo resize2fs /dev/vg01/lv_data 
    [[email protected] ~]$ df -h
    

12、删除pv

如果前面你创建的pv您不满意,还可以删除,但是/data目录下的所有数据将会丢失。

  1. 卸载LV
    [[email protected] ~]$ sudo umount /data
    
  2. 删除pv
    [[email protected] ~]$ sudo  pvremove  /dev/sdb1
    
  3. 确认pv是否成功删除
    [[email protected] ~]$ sudo pvdisplay
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章