linux磁盘操作部分1

[toc]

创建磁盘

parted

# 分区
parted /dev/sdb mklabel gpt 
parted /dev/sdb mkpart primary 0% 100%
lsblk

# 格式化并挂载
mkfs.ext4 /dev/sdb1
mkdir /data
mount /dev/sdb1 /data

# 自动挂载
tail -n 1 /etc/mtab >> /etc/fstab
# 多分区
parted /dev/sdb mkpart primary 0% 500G
x=500;y=1000;while true;do parted /dev/sdb mkpart primary ${x}G ${y}G||exit;x=$(($x+500));y=$(($y+500));done

parted /dev/sdb mkpart primary 0% 1T
x=1;y=2;while true;do parted /dev/sdb mkpart primary ${x}T ${y}T||exit;x=$(($y));y=$(($y+1));done

# 对齐分区
parted /dev/sdb align-check opt 24

# 删除分区
for((x=1;x<=24;x++));do  parted /dev/sdb rm $x;done

LVM

LVM故障后的删除

dmsetup remove /dev/KUDO_DATA/kududata 

LVM安装之一

yum install -y xfsprogs lvm2

VLM创建

# 创建pv
pvcreate /dev/vdc

# 创建vg
vgcreate KUDU02_LVM_DATA /dev/vdc

# 创建lv
lvcreate -n kududata_lv -l 100%FREE KUDU02_LVM_DATA

# 创建xfs分区
mkfs.xfs /dev/KUDU02_LVM_DATA/kududata_lv 

# 增加vg的pv
vgextend KUDU02_LVM_DATA /dev/vdd

扩展LVM

lvextend -l +100%FREE /dev/KUDU02_LVM_DATA/kududata_lv 

磁盘扩展

xfs磁盘扩展

pvresize /dev/vdb
lvextend -L +20G /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv
xfs_growfs /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv

增加新磁盘到已有卷

pvcreate /dev/sdb
vgextend centos /dev/sdb
lvcreate -n backup -l 100%FREE centos
mkfs.xfs /dev/centos/backup
mkdir /backup
mount /dev/centos/backup /backup
tail -n 1 /etc/mtab >> /etc/fstab

ext4扩展磁盘

umount /data
pvresize /dev/vdb
lvextend -L +20G /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv
e2fsck -f /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv
resize2fs /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv
mount /dev/VPC-SAO-test01_LVM_DATA/vpc_data_lv /data

使用fdisk扩展分区

umount /data
fdisk /dev/vdb < EOF
p
d
n
 p
 1

w
EOF
e2fsck -f /dev/vdb1
resize2fs /dev/vdb1
mount /dev/vdb1 /data

其他命令

测速

time dd if=/dev/zero of=tt.dat oflag=direct,sync bs=1024k count=1024

查看磁盘信息

smartctl -a /dev/nvme0n1

删除lv分区后未进行其他操作,恢复分区及数据

[ops@ecs-aiserver ~]$ sudo su -
上一次登录:二 8月 17 11:47:25 CST 2021pts/0 上
[root@ecs-aiserver ~]# vgdisplay 
  --- Volume group ---
  VG Name               ai-data2
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       25599 / <100.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               51NF2W-Q3lg-jhIL-d6Or-d0To-8nfx-huyzww

  --- Volume group ---
  VG Name               ai-test-data
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <100.00 GiB
  PE Size               4.00 MiB
  Total PE              25599
  Alloc PE / Size       0 / 0   
  Free  PE / Size       25599 / <100.00 GiB
  VG UUID               YnEXtd-RGHH-7KbF-0SFs-ciyx-fO6M-QNJic5

[root@ecs-aiserver ~]# vgcfgrestore --list ai-test-data

  File:        /etc/lvm/archive/ai-test-data_00000-1174046289.vg
  Couldn't find device with uuid NGdXpm-42GY-EzFx-K62k-wjgn-H823-DG2xmu.
  VG name:        ai-test-data
  Description:    Created *before* executing 'vgdisplay'
  Backup Time:    Tue Aug 17 11:52:51 2021

  File:        /etc/lvm/archive/ai-test-data_00001-618588157.vg
  VG name:        ai-test-data
  Description:    Created *before* executing 'lvremove /dev/ai-test-data/ai-test-data'
  Backup Time:    Tue Aug 17 12:33:21 2021

  File:        /etc/lvm/backup/ai-test-data
  VG name:        ai-test-data
  Description:    Created *after* executing 'lvremove /dev/ai-test-data/ai-test-data'
  Backup Time:    Tue Aug 17 12:33:21 2021

[root@ecs-aiserver ~]# vgcfgrestore -f /etc/lvm/archive/ai-test-data_00001-618588157.vg ai-test-data
  Restored volume group ai-test-data
[root@ecs-aiserver ~]# lvscan
  ACTIVE            '/dev/ai-data2/ai-data2' [<100.00 GiB] inherit
  inactive          '/dev/ai-test-data/ai-test-data' [<100.00 GiB] inherit
[root@ecs-aiserver ~]#
[root@ecs-aiserver ~]# lvchange -ay /dev/ai-test-data/ai-test-data
[root@ecs-aiserver ~]# lvscan
  ACTIVE            '/dev/ai-data2/ai-data2' [<100.00 GiB] inherit
  ACTIVE            '/dev/ai-test-data/ai-test-data' [<100.00 GiB] inherit
[root@ecs-aiserver ~]#