Linux系统存储管理1

一.基本分区

1.磁盘简介

  • 名词:磁盘/硬盘/disk是同一个东西,不同于内存的是容量比较大。

  • 类型:机械和固态

    1.机械:机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
    2.固态:固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘。
    在这里插入图片描述

  • 尺寸:3.5英寸、2.5英寸、1.8英寸
    在这里插入图片描述

  • 接口:早期IDE , 现在SATA
    在这里插入图片描述

  • 转速:5400rpm,7200rpm(常见),10000rpm,15000rpm

  • 厂商:西部数据,希捷,三星/日立/金士顿

  • 术语:

    1.盘片:一块硬盘有若干盘片,每个盘片有可以存储数据的上、下两盘面(Side)。这些盘面堆叠在主轴上高速旋转,它们从上至下从“0”开始依次编号。
    2.磁道:每个盘面被划分成许多同心圆,这些同心圆轨迹叫做磁道;磁道从外向内从0开始顺序编号。
    3.扇区:将一个盘面划分为若干内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每段圆弧叫做一个扇区。每个扇区中的数据作为一个单元同时读出或写入。硬盘的第一个扇区,叫做引导扇区。
    4.所有盘面上的同一磁道构成一个圆柱,称作柱面
    5.图示:
    在这里插入图片描述
    6.命名:
    IDE(并口),过去接口,/dev/hda,/dev/hdb
    SATA(串口),/dev/sda,/dev/sdb
    /dev设备文件目录
    sda是一个文件
    s代表sata就是串口
    d代表磁盘
    a第一块

    7.分区方式:
    MBR:
    主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导,MBR支持最大的磁盘容量是 <2TB。设计时分配4个分区,如果希望超过4个分区,需放弃主分区,改为扩展分区和逻辑分区。fdisk命令。
    GPT:
    全局唯一标识分区表(GUIDPartition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。GPT 支持大于2T的硬盘,支持128个分区

2.管理磁盘

2.1添加磁盘

1.先关闭虚拟机电源
2.编辑虚拟机设置
在这里插入图片描述
3.增加磁盘
在这里插入图片描述

2.2管理磁盘三部曲

新硬盘:分区(MBR或者GPT) ➡ 格式化/文件系统 Filesystem ➡ 挂载mount

1.查看磁盘信息

 //第一种方法
 
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 7月  31 18:30 /dev/sda
brw-rw----. 1 root disk 8,  1 7月  31 18:30 /dev/sda1
brw-rw----. 1 root disk 8,  2 7月  31 18:30 /dev/sda2
brw-rw----. 1 root disk 8, 16 7月  31 18:30 /dev/sdb
brw-rw----. 1 root disk 8, 32 7月  31 18:30 /dev/sdc
brw-rw----. 1 root disk 8, 48 7月  31 18:30 /dev/sdd
brw-rw----. 1 root disk 8, 64 7月  31 18:30 /dev/sde
brw-rw----. 1 root disk 8, 80 7月  31 18:30 /dev/sdf

 //
                  /dev/sdb
                  /dev/sdc
                  /dev/sdd          相当于购买的新磁盘。
                  
 //第二种方法
 
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
sdc               8:32   0    5G  0 disk 
sdd               8:48   0    5G  0 disk 
sde               8:64   0    5G  0 disk 
sdf               8:80   0    5G  0 disk 
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64

 //名称 设备类型 序号 是否可移动设备  大小  是否只读  磁盘或分区  挂载点

2.创建分区

 //启动分区工具
 
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)//敲击字母“n”键,新建分区
 
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 

 //敲击字母“p”键选择主分区,或扩展分区
 
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p

 //敲击数字“1”键或者回车默认1,选择分区号
 
 分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048)//敲击回车键,选择磁盘开始的扇区
 
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048

 //输入分区大小“+1G” 后回车

Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759)+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

 //输入w保存分区信息,自动退出分区工具
 
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

3.刷新分区表

[root@localhost ~]# partprobe /dev/sdb

4.查看分区结果

 //第一种方法
 
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xb830b0f4
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

 //第二种方法

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0    5G  0 disk 
└─sdb1            8:17   0    1G  0 part        //划分磁盘完毕,/dev/sdb1
sdc               8:32   0    5G  0 disk 
sdd               8:48   0    5G  0 disk 
sde               8:64   0    5G  0 disk 
sdf               8:80   0    5G  0 disk 
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64

4.创建文件系统

[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

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

5.挂载mount

[root@localhost ~]# mkdir /mnt/disk1
[root@localhost ~]# mount -t ext4 /dev/sdb1 /mnt/disk1    //-t ext4 可以不用

6.查看挂载信息

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.5G   12G   33% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/disk1

 //dd if=/dev/zero of=/mnt/disk1/1.txt bs=1M count=200           
   此为抄写一个200M文件到磁盘,可用于检查磁盘使用。

7.重启后的影响

 //永久挂载fstab

[root@localhost ~]# vim /etc/fstab

 //在最后一行添加编辑信息

/dev/sdb1  /mnt/disk1  ext4 defaults 0 0      //磁盘 挂载点 文件系统类型  默认选项 优先级 优先级

 //使用立刻挂载命令

[root@localhost ~]# mount -a

8.磁盘分区数量超过4时,放弃一个主分区,选择扩展分区

 //主分区已创建并使用
 //1.先卸载

[root@localhost ~]# umount /dev/sdb4

 //2.删除分区

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

 //3.创建扩展分区

命令(输入 m 获取帮助):n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
已选择分区 4
起始 扇区 (6293504-10485759,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-10485759,默认为 10485759):
将使用默认值 10485759
分区 4 已设置为 Extended 类型,大小设为 2 GiB

 //4.创建逻辑分区

命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (6295552-10485759,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-10485759,默认为 10485759)+200M
分区 5 已设置为 Linux 类型,大小设为 200 MiB

二.逻辑卷LVM

1.LVM目的

管理磁盘的一种方式,性质与基本磁盘无异,特点是随意扩张大小。

2.术语

LVM是 Logical Volume Manager(逻辑卷管理)
PV:物理卷(Physical volume):一块硬盘,或多块硬盘
VG:卷组(Volume Group):一堆磁盘的统称
LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区

3.创建LVM

 //1.准备物理磁盘

[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 7月  31 18:30 /dev/sda
brw-rw----. 1 root disk 8,  1 7月  31 18:30 /dev/sda1
brw-rw----. 1 root disk 8,  2 7月  31 18:30 /dev/sda2
brw-rw----. 1 root disk 8, 16 7月  31 20:05 /dev/sdb
brw-rw----. 1 root disk 8, 17 7月  31 20:05 /dev/sdb1
brw-rw----. 1 root disk 8, 18 7月  31 20:05 /dev/sdb2
brw-rw----. 1 root disk 8, 19 7月  31 20:05 /dev/sdb3
brw-rw----. 1 root disk 8, 20 7月  31 20:05 /dev/sdb4
brw-rw----. 1 root disk 8, 32 7月  31 18:30 /dev/sdc
brw-rw----. 1 root disk 8, 48 7月  31 18:30 /dev/sdd
brw-rw----. 1 root disk 8, 64 7月  31 18:30 /dev/sde
brw-rw----. 1 root disk 8, 80 7月  31 18:30 /dev/sdf

 //2.将物理磁盘,分区,转换成物理卷-PV

[root@localhost ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.

 //3.查看pv信息

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda2  centos lvm2 a--  <19.00g    0 
  /dev/sdc          lvm2 ---    5.00g 5.00g
 
 //4.创建卷组-VG

[root@localhost ~]# vgcreate vg1 /dev/sdc
  Volume group "vg1" successfully created

 //5.查看vg卷组信息

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      1   0   0 wz--n-  <5.00g <5.00g

 //6.创建逻辑卷-LV

[root@localhost ~]# lvcreate -L 200M -n lv1 vg1
 Logical volume "lv1" created.

 //7.查看LV信息

[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- <17.00g                                                    
  swap centos -wi-ao----   2.00g                                                    
  lv1  vg1    -wi-a----- 200.00m

 //8.创建文件系统
 
[root@localhost ~]# 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
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2048 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: 完成 

 //9.创建挂载点
 
 [root@localhost ~]# mkdir /mnt/lv1

 //10.挂载

[root@localhost ~]# mount /dev/vg1/lv1 /mnt/lv1

 //11.查看挂载结果

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.5G   12G   33% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/disk1
/dev/sdb2               ext4      976M  2.6M  907M    1% /mnt/disk2
/dev/sdb3               ext4      976M  2.6M  907M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      190M  1.6M  175M    1% /mnt/lv1

4.VG管理

 //扩大vg,环境:/dev/vg1 容量由5G 扩容到 10G。
 //1.创建PV。

[root@localhost ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created.

 //2.扩展vg

[root@localhost ~]# vgextend vg1 /dev/sdd
  Volume group "vg1" successfully extended

 //3.查看vg

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   1   0 wz--n-   9.99g <9.80g

5.LV扩容

 //1.查看vg空间

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   1   0 wz--n-   9.99g <9.80g

 //2.LV扩容

[root@localhost ~]# lvextend -L +200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume vg1/lv1 successfully resized.

 //3.观察当前容量

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.5G   12G   33% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/disk1
/dev/sdb2               ext4      976M  2.6M  907M    1% /mnt/disk2
/dev/sdb3               ext4      976M  2.6M  907M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      190M  1.6M  175M    1% /mnt/lv1


 //4.FS扩容

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

 //5.查看当前容量

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  470M     0  470M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  8.6M  478M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  5.5G   12G   33% /
/dev/sda1               xfs      1014M  171M  844M   17% /boot
tmpfs                   tmpfs      98M   28K   98M    1% /run/user/0
/dev/sr0                iso9660   4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1               ext4      976M  2.6M  907M    1% /mnt/disk1
/dev/sdb2               ext4      976M  2.6M  907M    1% /mnt/disk2
/dev/sdb3               ext4      976M  2.6M  907M    1% /mnt/disk3
/dev/mapper/vg1-lv1     ext4      384M  2.3M  360M    1% /mnt/lv1          //成功扩容

6.命令汇总

在这里插入图片描述

三.分区的区别

在这里插入图片描述

四.交换分区管理Swap

1.简介

作用: ‘提升’ 内存的容量,防止OOM(Out Of Memory),推荐设置交换分区大小为内存的2倍。
生产时,大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。

2.查看当前交换分区

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         565          82          15         323         250
Swap:          2047         130        1917

3.增加交换分区

 //1.准备分区

[root@localhost ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xda13a311 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759)+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):t
已选择分区 1

Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe /dev/sdd
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 8月   1 08:36 /dev/sda
brw-rw----. 1 root disk 8,  1 8月   1 08:36 /dev/sda1
brw-rw----. 1 root disk 8,  2 8月   1 08:36 /dev/sda2
brw-rw----. 1 root disk 8, 16 8月   1 08:36 /dev/sdb
brw-rw----. 1 root disk 8, 17 8月   1 08:36 /dev/sdb1
brw-rw----. 1 root disk 8, 18 8月   1 08:36 /dev/sdb2
brw-rw----. 1 root disk 8, 19 8月   1 08:36 /dev/sdb3
brw-rw----. 1 root disk 8, 20 8月   1 08:36 /dev/sdb4
brw-rw----. 1 root disk 8, 21 8月   1 08:36 /dev/sdb5
brw-rw----. 1 root disk 8, 32 8月   1 08:36 /dev/sdc
brw-rw----. 1 root disk 8, 48 8月   1 09:10 /dev/sdd
brw-rw----. 1 root disk 8, 49 8月   1 09:10 /dev/sdd1
brw-rw----. 1 root disk 8, 64 8月   1 08:36 /dev/sde
brw-rw----. 1 root disk 8, 80 8月   1 08:36 /dev/sdf

 //2.格式化
[root@localhost ~]# mkswap /dev/sdd1
mkswap: /dev/sdd1: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=3e06438e-0d4b-4351-8df8-0ce9c84f9f52

 //3.挂载

[root@localhost ~]# swapon /dev/sdd1

 //4.验证

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         516         157          15         299         300
Swap:          3071         199        2872
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值