lvm講解 磁盤故障小案例

lvm講解

Linux提供的邏輯盤卷管理(LVM,LogicalVolumeManager)機制完美的解決了在零停機前提下能夠自如對文件系統的大小進行調整,能夠方便實現文件系統跨越不一樣磁盤和分區。node

步驟:linux

1建立磁盤分區

修改分區類型爲8e(lvm)服務器

2建立物理卷

小知識:若是隻知道命令,不知道哪一個包安裝的,能夠用yum provides "/*/[命令名]" 搜索app

先安裝lvm包,運行命令yum install -y lvm2ide

pvcreate /dev/sdb1    建立物理卷
pvcreate /dev/sdb2
pvcreate /dev/sdb3

pvdisplay             列出當前物理卷
pvremove /dev/sdb3    刪除物理卷

 將sdb1,2,3建立成物理卷ui

[root@glinux-01 ~]# pvcreate /dev/sdb2
WARNING: xfs_external_log signature detected on /dev/sdb2 at offset 17408. Wipe it? [y/n]: y
  Wiping xfs_external_log signature on /dev/sdb2.
WARNING: xfs_external_log signature detected on /dev/sdb2 at offset 18432. Wipe it? [y/n]: y
  Wiping xfs_external_log signature on /dev/sdb2.
  Physical volume "/dev/sdb2" successfully created.
[root@glinux-01 ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.

注意:若是建立不成功,多是缺失/dev/sdb1文件,用命令partprobe(從新加載分區列表spa

查看當前物理卷pvdisplay或pvscode

[root@glinux-01 ~]# pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdb1     lvm2 ---  1.00g 1.00g
  /dev/sdb2     lvm2 ---  1.00g 1.00g
  /dev/sdb3     lvm2 ---  1.00g 1.00g

3建立卷組

vgcreate [卷組名] [包含的物理卷]orm

[root@glinux-01 ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
  Volume group "vg1" successfully created

vgdisplay 查看卷組信息或vgsip

[root@glinux-01 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg1
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1.99 GiB
  PE Size               4.00 MiB
  Total PE              510
  Alloc PE / Size       0 / 0   
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               pR2eXX-9wpb-Ayhk-P6RP-rCdS-rXcj-mKfXMa

4劃分邏輯分區lvcreate

例:lvcreate -L 100M -n lv1 vg1 (-L指定大小 -n 只能邏輯分區名稱  vg1從哪一個卷組分出)

[root@glinux-01 ~]# lvcreate -L 100M -n lv1 vg1
  Logical volume "lv1" created.

5格式化和掛載

mkfs.ext4 /dev/vg1/lv1

[root@glinux-01 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

掛載mount /dev/vg1/lv1 /mnt/

mount /dev/vg1/lv1 /mnt/

[root@glinux-01 ~]# df -h
文件系統             容量  已用  可用 已用% 掛載點
/dev/sda3             23G  1.2G   22G    6% /
devtmpfs             357M     0  357M    0% /dev
tmpfs                367M     0  367M    0% /dev/shm
tmpfs                367M  5.2M  362M    2% /run
tmpfs                367M     0  367M    0% /sys/fs/cgroup
/dev/sda1            197M   97M  100M   50% /boot
tmpfs                 74M     0   74M    0% /run/user/0
/dev/mapper/vg1-lv1   93M  1.6M   85M    2% /mnt

擴容邏輯卷lvresize

  • ext4擴容

先取消掛載umount /mnt

lvresize -L 200M /dev/vg1/lv1  從新設置邏輯卷大小

[root@glinux-01 ~]# lvresize -L 200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume vg1/lv1 successfully resized.

檢測磁盤錯誤(ext4執行)

[root@glinux-01 ~]# e2fsck -f /dev/vg1/lv1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄鏈接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg1/lv1: 13/25688 files (7.7% non-contiguous), 8898/102400 blocks

更新邏輯卷信息(ext4執行)

[root@glinux-01 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vg1/lv1 is now 204800 blocks long.

從新掛載

  • xfs擴容

1. 格式化 mkfs.xfs /dev/vg1/lv1

[root@glinux-01 ~]# mkfs.xfs /dev/vg1/lv1
mkfs.xfs: /dev/vg1/lv1 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@glinux-01 ~]# mkfs.xfs -f /dev/vg1/lv1
meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=12800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=51200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

2 掛載 mount /dev/vg1/lv1 

3從新設置大小lvresize -L 300M  /dev/vg1/lv1 

4更新卷信息 xfs_growfs /dev/vg1/lv1 

縮容邏輯卷(xfs不支持)

先umount

e2fsck -f  /dev/vg1/lv1 檢查磁盤錯誤(ext4)

resize2fs /dev/vg1/lv1 100M 更新邏輯卷信息(ext4)

lvresize -L 100M /dev/vg1/lv1 從新設置卷大小

擴展卷組

步驟:1fdisk /dev/sdb 新增邏輯分區/dev/sdb5(8e)

           2pvcreate dev/sdb5 建立物理卷

          3vgextend vg1 /dev/sdb5 將物理卷加入卷組vg1中

          4lvresize -L 100M /dev/vg1/lv1 從新設置邏輯分區大小

磁盤故障小案例

  1. 輸入root帳號
  2. vi /etc/fstab 刪除最下面一行,保存退出 3 重啓服務器
相關文章
相關標籤/搜索