Linux存储管理思维导图
存储管理
基本分区
磁盘简介
-
名词
- 磁盘/硬盘/disk是一个东西,不同于内存,这个容量较大
-
类型
-
原理区分
- 机械硬盘
- 固态硬盘(ssd)
-
-
尺寸
- 3.5英寸
- 2.5英寸
- 1.8英寸
-
术语
-
盘片
- 一块硬盘有若干个盘片,每个盘片都有可以储存数据的上下两面(side)
-
柱面
- 所有盘面上的同一磁道构成一个圆柱,称作柱面。
-
扇区
- 将一个盘面划分位多个内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每段圆弧叫一个扇区。
-
磁道
- 每个盘面被划分为多个同心圆,这些同心圆的轨迹叫做磁道。
-
-
命名
-
CentOS sata(串口)
-
/dec/sda (在Linux中是一个文件)
- /dev 设备文件目录
- s代表sata就是串口
- d代表磁盘
- a代表第一块
-
/dev/sdb
-
-
-
分区方式
- MBR
- GPT
磁盘管理
-
添加磁盘
-
VMware增加磁盘
- 编辑虚拟机设置
- 增加磁盘
-
-
管理磁盘
- 1、分区(mbr或者gpt)
- 2、格式化/文件系统
- 3、挂载 mount
-
查看磁盘信息
-
方法
-
方法一:ll /dev/sd*
[root@guowang ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Jul 27 15:48 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 27 15:48 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jul 27 15:48 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jul 27 15:48 /dev/sda3
brw-rw----. 1 root disk 8, 16 Jul 27 15:48 /dev/sdb
brw-rw----. 1 root disk 8, 32 Jul 27 15:48 /dev/sdc
brw-rw----. 1 root disk 8, 48 Jul 27 15:48 /dev/sdd -
方法二:lsblk
[root@guowang ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 10G 0 part /
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sr0 11:0 1 4.4G 0 rom
-
-
-
创建分区
-
MBR:把整块磁盘进行分割 (fdisk中的f 表示的就是MBR)
-
启动分区工具
- 指令:fdisk
[root@guowang ~]# fdisk /dev/sdb
- 指令:fdisk
-
-
进入会话模式
-
提示1;
Command (m for help):
在这里输入m获取帮助,按 n划分区域
-
提示2:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
p表示主分区,主分区最多分四个,e表示扩展分区
操作:p -
提示3:
Partition number (1-4, default 1): (分区号1-4,默认1)
按1或者enter都可以 -
提示四:
First sector (2048-10485759, default 2048):
起始扇区(2048- 10485759,默认为2048)
操作:直接回车(enter)
说明:选择磁盘开始的扇区
0-2048:存放MBR
- 提示5:
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
选择磁盘分区结束的扇区,即分区大小
操作:+(分区大小)enter ----选择分区大小回车,默认为
添加的该块磁盘的大小。 - 提示六:
Partition 1 of type Linux and of size 2 GiB is set
Command (m for help):
说明:已经设计2G的大小分区记录,但未生效
- 提示七:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
输入w同步磁盘信息
操作:输入w保存分区信息之后自动退出分区工具
- 刷新分区表
(pratprobe)
- [root@guowang ~]# partprobe /dev/sdb
- partprobe 分区准备
- 查看分区结果
fdisk -l
- [root@guowang ~]# fdisk -l /dev/sdb
- Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 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: 0x063af989
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
- [root@guowang ~]# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 476M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 10G 0 part /
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 2G 0 part
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sr0 11:0 1 4.4G 0 rom
-
创建文件系统
- mkfs.ext4
mk (make)创造
f(file)文件
s(system)系统
ext4(extend4)扩展 - [root@guowang ~]# mkfs.ext4 /dev/sdb1
或者:
mkfs -t ext4 /dev/sdb1 - 在新建分区也要格式化
- mkfs.ext4
-
挂载mount
-
手动挂载
- 创建挂载点,一个分区一个挂载点即创建一个文件夹,放挂载点
[root@guowang ~]# mkdir /newdisk1 - [root@guowang /]# mount -t ext4 /dev/sdb1 /newdisk1
将/dev/sdb1 挂载在/newdisk1 下
- 创建挂载点,一个分区一个挂载点即创建一个文件夹,放挂载点
-
-
卸载umount
- umount /newdisk1
-
查看挂载信息
-
方法一:df -hT(df 即:disk file)
- [root@guowang /]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 476M 0 476M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda3 xfs 10G 2.3G 7.8G 23% /
/dev/sda1 xfs 473M 124M 350M 27% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 ext4 2.0G 6.0M 1.8G 1% /newdisk1
- [root@guowang /]# df -hT
-
方法二:mount
-
-
永久挂载
- 使用vim在/etc/fstab 文件中写入你的挂载分区即可
-
扩展分区
-
概念:即一块硬盘使用MBR划分硬盘,最多只能划分四个主分区,现在放弃一个主分区,改为拓展分区
-
划分方法
- 一、删除第四个主分区
d是删除分区 - 二、在删除分区后,在使用n为磁盘增加扩展分区
扩展分区是extended即按e即可 - 三、扩展分区可以分多个逻辑分区
- 四、扩展分区不可以格式化然后存储数据,必须对扩展分区在进行逻辑分区
- 五、可以在继续按n对扩展分区进行划分,分成逻辑分区
- 六、逻辑分区进行格式化之后,在进行挂载就可以使用了
- 一、删除第四个主分区
-
逻辑卷LVM
LVM
-
目的
- 磁盘的一种管理方式,性质与基本磁盘无异。
-
特点:
- 随意扩张大小
-
术语
- PV:物理卷(physical volume)
- VG:卷组(volume Group)
- LV:逻辑卷(logical Volume)
创建LVM
-
准备物理磁盘
- [root@guowangzhongwen ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.8G 0 part /
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sr0 11:0 1 1024M 0 rom
里面的sdb和sdc便是准备的物理磁盘
- [root@guowangzhongwen ~]# lsblk
-
pv(物理卷)
- 将准备的物理磁盘,换成物理卷 -pv create(创建)
[root@guowangzhongwen ~]# pvcreate /dev/sdb
Physical volume “/dev/sdb” successfully created.
- 将准备的物理磁盘,换成物理卷 -pv create(创建)
-
vg(卷组)
- 创建卷组 VG
语法:vgcrete 卷组成员名 设备
[root@guowangzhongwen ~]# vgcreate vg1 /dev/sdb
Volume group “vg1” successfully created
- 创建卷组 VG
-
lv(逻辑卷)
- 创建逻辑卷LV
语法:lvcreate -L 大小 -n 卷名 组名
[root@guowangzhongwen ~]# lvcreate -L 1G -n lv1 vg1
Logical volume “lv1” created.
- 创建逻辑卷LV
-
创建文件系统并挂载
-
创建文件系统
[root@guowangzhongwen /]# mkfs -t ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2) -
创建挂载点 mkdir
[root@guowangzhongwen ~]# mkdir /luojijuan -
挂载:
mount 挂载的卷组逻辑卷 挂载点
[root@guowangzhongwen /]# mount /dev/vg1/lv1 /luojijuan/
-
VG管理
-
VG 扩容
(vgextend)- 一、若物理卷内存不够,则在使用pvcreate 在新增一个物理卷,可以使用pvs查看物理卷)
[root@guowangzhongwen etc]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg1 lvm2 a-- <5.00g <4.00g
/dev/sdc vg1 lvm2 a-- <5.00g <5.00g - 二、对vg进行扩容
用新添加的物理卷对vg进行扩容
使用 vgextend 对vg进行扩容
语法:vgextend 卷组 物理卷
[root@guowangzhongwen etc]# vgextend vg1 /dev/sdc
Volume group “vg1” successfully extended - 三、查看vg
使用vgs查看vg
[root@guowangzhongwen etc]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz–n- 9.99g 8.99g
- 一、若物理卷内存不够,则在使用pvcreate 在新增一个物理卷,可以使用pvs查看物理卷)
LV扩张
-
lv扩容(lvextend)
-
LV扩容
- 一、查看vg空间
使用vgs查看 - 二、扩容lv
使用lvextend -L 大小 扩的逻辑卷卷名
[root@guowangzhongwen etc]# lvextend -L +5G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 1.00 GiB (256 extents) to 6.00 GiB (1536 extents).
Logical volume vg1/lv1 successfully resized.
- 一、查看vg空间
-
FS扩容
- 先使用df -hT去查看系统的容量
- 重置大小 resize2fs (resize to file system)
resize2fs 逻辑卷卷名
[root@guowangzhongwen etc]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg1/lv1 to 1572864 (4k) blocks.
The filesystem on /dev/vg1/lv1 is now 1572864 blocks long.
-
交换分区管理SWAP
简介
-
作用
- 提升内存的容量,防止OOM(out of memory)内存溢出
-
swap大小
- 推荐:交换分区为内存的2倍
- 大于4G小于16G最少需要4G交换空间
- 大于16G小于64G最少需要8G交换空间
- 大于64小于128G最少需要16G交换空间
查看当前的交换分区
-
free -m
- [root@guowangzhongwen ~]# free -m
total used free shared buff/cache available
Mem: 1980 847 66 23 1065 947
Swap: 2047 0 2047
- [root@guowangzhongwen ~]# free -m
增加交换分区
-
准备分区
- 一、在一块新磁盘中,先画出一块主分区
- 二、分区设置好了以后,将分区设置为82,先按t 在按L选择82 的分区
- 三、设置好了以后刷新分区(part probe)
-
格式化
- 使用mkswap格式化
mkswap /dev/sdb1
- 使用mkswap格式化
-
挂载
- swapon /dev/sdb1
-
查看分区
- free -h