linux系统创建lvm卷,Linux系统LVM逻辑卷创建过程以及自动化脚本

最近在上海新建机房的时候,给了我2台M2机型服务器,在做初始化的时候发现有一堆磁盘:

[[email protected]:~]# fdisk -l | grep '300.1 GB' | sort

Disk /dev/sda: 300.1 GB, 300069052416 bytes

Disk /dev/sdb: 300.1 GB, 300069052416 bytes

Disk /dev/sdc: 300.1 GB, 300069052416 bytes

Disk /dev/sdd: 300.1 GB, 300069052416 bytes

Disk /dev/sde: 300.1 GB, 300069052416 bytes

Disk /dev/sdf: 300.1 GB, 300069052416 bytes

Disk /dev/sdg: 300.1 GB, 300069052416 bytes

Disk /dev/sdh: 300.1 GB, 300069052416 bytes

Disk /dev/sdi: 300.1 GB, 300069052416 bytes

Disk /dev/sdj: 300.1 GB, 300069052416 bytes

Disk /dev/sdk: 300.1 GB, 300069052416 bytes

Disk /dev/sdl: 300.1 GB, 300069052416 bytes

其中挂载的只有 /dev/sda,其他都在那闲着。运管那边告诉我这个机型不能做raid。而根据我这边的业务需求,我并不能一次用到这么多分区,所以必须使用LVM合并使用。

关于LVM的创建,目前网络上一堆详细教程,用起来也非常简单,这里就只贴一下我的过程。

①、用fdisk给每一个磁盘创建一个8e分区:

[[email protected]:~]# fdisk /dev/sdb

The device presents a logical sector size that is smaller than

the physical sector size. Aligning to a physical sector (or optimal

I/O) size boundary is recommended, or performance may be impacted.

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): n #创建

Command action

e extended

p primary partition (1-4)

p #选择主分区

Partition number (1-4): 1

First cylinder (1-36481, default 1): 1

Last cylinder, +cylinders or +size{K,M,G} (1-36481, default 36481): #直接回车选择最大

Using default value 36481

Command (m for help): t #输入t进入类型选择

Selected partition 1

Hex code (type L to list codes): 8e #输入8e格式

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w #w保存

这样就完成了一块磁盘,接着我们依次将其他 sdc到sdl的磁盘也操作一把。

②、全部完成后,使用 pvcreate 将所有分区转化成物理卷,即添加LVM属性信息并划分PE存储单元:

[[email protected]:~]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1

Physical volume "/dev/sdb1" successfully created

Physical volume "/dev/sdc1" successfully created

Physical volume "/dev/sdd1" successfully created

Physical volume "/dev/sde1" successfully created

Physical volume "/dev/sdf1" successfully created

Physical volume "/dev/sdg1" successfully created

Physical volume "/dev/sdh1" successfully created

Physical volume "/dev/sdi1" successfully created

Physical volume "/dev/sdj1" successfully created

Physical volume "/dev/sdk1" successfully created

Physical volume "/dev/sdl1" successfully created

创建完PV之后,就可以使用 pvdisplay 或 pvs 查看详细信息了,篇幅有限,这里我就不贴了。

③、下面我们需要创建一个VG,然后PV都加入到这个卷组当中,卷名可自定义,比如 vg:

[[email protected]:~]# vgcreate vg /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1

Volume group "vg" successfully created

同样,在创建好VG以后,我们也可以使用 vgdisplay 或者 vgs 命来来查看VG的信息(略)

④、接着,使用 lvcreate 命令基于VG创建逻辑卷,vg 和 lvm 我们自定义的名称:

[[email protected]:~]# lvcreate -l 100%VG -n lvm vg

Logical volume "lvm" created

同样我们可以使用 lvdisplay 或者 lvs 命令来查看创建好的逻辑卷的信息(略)

⑤、格式化创建的逻辑卷:

[[email protected]:~]# mkfs.ext4 /dev/vg/lvm

⑥、挂载分区:

[[email protected]:~]# mkdir /data

[[email protected]:~]# echo '/dev/vg/lvm /data ext4 noatime,acl,user_xattr 1 2' >> /dev/fstab

[[email protected]:~]# mount -a

[[email protected]:~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 9.9G 2.1G 7.4G 22% /

/dev/sda3 20G 370M 19G 2% /usr/local

tmpfs 16G 0 16G 0% /dev/shm

/dev/sda4 244G 205M 232G 1% /data1

/dev/mapper/vg-lvm 3.1T 932M 3.0T 1% /data

这样,我们就完成了LVM的手工创建过程了,我还有一台M2要弄,而且听运管说以后会继续交付这类机型,我可不想这么苦逼的操作了,光那个创建8e格式分区就已经很坑了。

所以,就将上面的操作串成脚本,一键完成:

#!/bin/bash

partition=/data # 定义最终挂载的名称

vgname=vg # 定义逻辑卷组的名称

lvname=lvm # 定义逻辑卷的名称

code='b c d e f g h i k j l' # 根据分区的实际情况修改

disk=

for i in $code

do

fdisk /dev/sd$i << EOF # 这里自动化完成了所有分区fdisk苦逼的交互步骤

n

p

1

1

t

8e

w

EOF

disk="$disk /dev/sd${i}1" # 将所有分区拼起来

done

pvcreate $disk

vgcreate $vgname $disk

lvcreate -l 100%VG -n $lvmname $vgname

mkfs.ext4 /dev/$vgname/$lvmname

mkdir -p $partition

echo "/dev/$vgname/$lvmname $partition ext4 noatime,acl,user_xattr 1 2" >> /dev/fstab

mount -a

df -h

哦了,就写这么多,以备后用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值