磁盘管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘管理相关的知识,希望对你有一定的参考价值。

1、磁盘管理

磁道:track

扇区:sector  每个扇区,512字节

磁头:head

柱面:cylinde

 

1.1 MBR/msdos 分区模式

– 1~4个主分区,或者 0~3个主分区+1个扩展分区(n个逻辑分区)

– 最大支持容量为 2.2TB 的磁盘

– 扩展分区不能格式化

识别硬盘 => 分区规划 => 格式化 => 挂载使用

1.2 查看磁盘lsblk

[[email protected] ~]# lsblk

1.3 修改硬盘的分区表

使用fdisk 命令

常用交互指令:

m 列出指令帮助

p 查看现有的分区表

n 新建分区

d 删除分区

q 放弃更改并退出

w 保存更改并退出

[[email protected] ~]# fdisk   /dev/vdb

n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G

p 查看分区表

n 创建新的分区----->回车----->回车---->回车----->在last结束时 +2G

d 删除分区

w 保存并退出

 

[[email protected] ~]# ls /dev/vdb[1-2]

 /dev/vdb1  /dev/vdb2

[[email protected] ~]# lsblk

格式化文件系统

1.4 mkfs 工具集

– mkfs.ext3  分区设备路径

– mkfs.ext4  分区设备路径

– mkfs.xfs   分区设备路径

– mkfs.vfat  分区设备路径

 

[[email protected] ~]# mkfs.xfs /dev/vdb1

[[email protected] ~]# mkfs.ext4 /dev/vdb2


1.5 查看分区文件系统

blkid 

[[email protected] ~]# blkid /dev/vdb1

[[email protected] ~]# blkid /dev/vdb2

挂载使用

[[email protected] ~]# mkdir /part1

[[email protected] ~]# mkdir /part2

[[email protected] ~]# mount /dev/vdb1 /part1

[[email protected] ~]# mount /dev/vdb2 /part2

 

查看正在挂载使用的设备信息

[[email protected] ~]# df  -h

缓解根分区的压力

[[email protected] ~]# find  -size  查找较大的目录有哪些

[[email protected] ~]#  还分新的分区 /dev/vdc1

[[email protected] ~]#  mount /dev/vdc1   /mnt

[[email protected] ~]#  cp -r /home/*    /mnt

[[email protected] ~]#  rm -rf /home/*

[[email protected] ~]#  umount /mnt

[[email protected] ~]#  mount /dev/vdc1   /home

 

将虚拟机server重起

[[email protected] ~]# reboot


1.6 开机自动挂载,修改配置文件 /etc/fstab

配置文件 /etc/fstab 的记录格式

设备路径    挂载点    类型   参数    备份标记     检测顺序

[[email protected] ~]# tail -1 /etc/fstab

/dev/vdb1    /part1    xfs   defaults   0  0

验证:

[[email protected] ~]# mount -a

检测/etc/fstab开机自动挂载配置文件,格式是否正确

检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载

[[email protected] ~]# df -h

 

总结:

1.查看硬盘     lsblk

2.划分分区     fdisk

3.刷新分区表    partprobe

4.格式化文件系统  mkfs.xfs  mkfs.ext4

5.挂载        mount

6.开机自动挂载   /etc/fstab


2、LVM逻辑卷的使用(logicl volume)

1)整合分散的空间

2)实现分区的动态扩大与缩减

 

在“分区 --> 格式化”中间增加的一个逻辑层

–零散空闲存储 ---- 整合的虚拟磁盘 ---- 虚拟的分区----- 格式化------ 挂载

物理卷

Physical Volume

卷组

Volume Group

逻辑卷

Logical Volume

将众多的物理卷,组成卷组,再从卷组中划分逻辑卷

综合分区

将/dev/vdc划分6个分区,3个主分区,一个扩展分区,2个逻辑分区

[[email protected] ~]# fdisk   /dev/vdc

n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G

n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G

n 创建新的分区----->回车----->回车---->回车----->在last结束时 +10G

p 查看分区表

n 创建新的分区

 ----->回车---->起始回车----->结束回车  将所有空间给扩展分区

p 查看分区表

n 创建新的分区----->起始回车------>结束+10G

n 创建新的分区----->起始回车------>结束+10G

wq 保存并退出

[[email protected] ~]# partprobe         #刷新分区表

[[email protected] ~]# ls /dev/vdc[1-6]

[[email protected] ~]# lsblk

[[email protected] ~]# ls /dev/vdc*

 

2.1 新建逻辑卷

1)新建卷组

命令格式:vgcreate  卷组名称   分区路径

[[email protected] ~]# vgcreate  myvg  /dev/vdc1  /dev/vdc2

[[email protected] ~]# vgs

[[email protected] ~]# pvs

2)创建逻辑卷

命令格式:lvcreate  -n  逻辑卷名称  -L 大小  基于卷组

[[email protected] ~]# lvcreate  -n  mylv  -L 16G   myvg

[[email protected] ~]# lvs

3)使用LVM逻辑卷

[[email protected] ~]# mkfs.ext4 /dev/myvg/mylv   #格式化

[[email protected] ~]# mkdir /lvm

vim /etc/fstab                                    #开机自挂载

路径   挂载点 格式  defaults  0  0

[[email protected] ~]# mount -a

[[email protected] ~]# df -h

 

2.2 LVM逻辑卷的扩展

(1)卷组有足够的剩余空间

a.直接扩展逻辑卷的空间

[[email protected] ~]# vgs

[[email protected] ~]# lvextend  -L  19G  /dev/myvg/mylv

[[email protected] ~]# lvs

[[email protected] ~]# vgs

b.扩展文件系统的大小

扩展ext4文件系统:resize2fs

扩展xfs文件系统: xfs_growfs

[[email protected] ~]# df  -h | tail -1

[[email protected] ~]# blkid /dev/myvg/mylv

[[email protected] ~]# resize2fs /dev/myvg/mylv   #格式化

[[email protected] ~]# df  -h | tail -1

(2)卷组没有足够的剩余空间

a.扩展卷组空间

[[email protected] ~]# vgextend myvg /dev/vdc3

[[email protected] ~]# vgs

b.直接扩展逻辑卷的空间

[[email protected] ~]# vgs

[[email protected] ~]# lvextend  -L  25G  /dev/myvg/mylv

[[email protected] ~]# lvs

[[email protected] ~]# vgs

c.扩展文件系统的大小

[[email protected]r0 ~]# df  -h | tail -1

[[email protected] ~]# resize2fs /dev/myvg/mylv

[[email protected] ~]# df  -h | tail -1

了解:

缩减:不要做, 先缩减文件系统的大小,在缩减空间大小

[[email protected] ~]# resize2fs /dev/myvg/mylv 10G

[[email protected] ~]# umount /lvm

[[email protected] ~]# resize2fs /dev/myvg/mylv 10G

resize2fs 1.42.9 (28-Dec-2013)

请先运行 'e2fsck -f /dev/myvg/mylv'.

[[email protected] ~]# e2fsck -f /dev/myvg/mylv

[[email protected] ~]# resize2fs /dev/myvg/mylv 10G

[[email protected] ~]# lvreduce -L 10G /dev/myvg/mylv

[[email protected] ~]# lvreduce -L 10G /dev/myvg/mylv

WARNING: Reducing active logical volume to 10.00 GiB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce mylv? [y/n]: y

2.3 创建卷组的时候设置PE大小

– vgcreate -s  PE大小   卷组名    空闲分区...

– vgchange -s  PE大小   卷组名

PE:卷组划分空间的单位   4M

[[email protected] ~]# vgdisplay myvg

[[email protected] ~]# vgchange -s 2M  myvg

[[email protected] ~]# vgdisplay myvg

 

2.4 创建逻辑卷的时候指定PE个数

lvcreate   -l   PE个数  -n   逻辑卷名 卷组名

[[email protected] ~]# lvcreate  -l  102  -n  lvtest02  myvg

Logical volume "lvtest02" created

[[email protected] ~]# lvs

3、交换分区(虚拟内存)

? 相当于虚拟内存,

– 当物理内存不够用时,使用磁盘空间来模拟内存

– 在一定程度上缓解内存不足的问题

[[email protected] ~]# swapon -s    #查看交换空间,组成 成员信息

[[email protected] ~]# mkswap /dev/vdc5  #格式化,交换文件系统

[[email protected] ~]# swapon /dev/vdc5  #启用交换分区

 

[[email protected] ~]# mkswap /dev/vdc6  #格式化,交换文件系统

[[email protected] ~]# swapon /dev/vdc6  #启用交换分区

[[email protected] ~]# swapon -s

 

开机自动启用交换分区 /etc/fstab

[[email protected] ~]# vim /etc/fstab           #开机自挂载

/dev/vdc5  swap  swap   defaults  0 0

/dev/vdc6  swap  swap   defaults  0 0

 

[[email protected] ~]# swapoff /dev/vdc[5-6]   #停用交换分区

[[email protected] ~]# swapon -s

[[email protected] ~]# swapon -a     #检测/etc/fstab交换分区

[[email protected] ~]# swapon -s

 

大容量的使用gpt分区模式:gdisk

交换分区的优先级:-1

 

逻辑卷的扩展:扩展之后lsblk 显示的是扩展之后的总容量

而df -h显示的还是原来的大小

磁盘情况刷新:partprobe

 

功能            物理卷管理      卷组管理      逻辑卷管理

scan/扫描        pvscan         vgscan             lvscan

create/创建     pvcreate      vgcreate         lvcreate

display              pvdisplay     vgdisplay         lvdisplay

remove            pvremove     vgremove       lvremove

extend                                     vgextend        lvextend


以上是关于磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘管理的Linux管理命令

AIX磁盘管理 教程

Linux 下磁盘管理--逻辑卷--LV

【Linux命令】磁盘管理(逻辑卷与物理卷)

磁盘管理

20磁盘管理—linux磁盘管理详解(分区)