一.基本分区
1.磁盘简介
1.名词
磁盘/硬盘/disk是同一个东东,不同于内存的是容量比较大。
2.类型
==从工作原理区分==
· 机械
机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个 部分组成。
· 固态
固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成 的硬盘
· 图示
磁道大小:
== 相比磁铁玩具==
3.尺寸
--3.5英尺--
--2.5--
--1.8--
--图示--
4.接口
早期IDE----现在SATA I/II/III
5.转速
5400rpm
7200
10000
15000
6.厂商
西部数据 希捷 三星、日立、金士顿
7.术语
--盘片--
一块硬盘有若干盘片,每个盘片有可以存储数据的上、下两盘面(Side)。这些盘面堆叠在主轴上高速旋转,它们从上至下 从“0”开始依次编号。
--磁道--
每个盘面被划分成许多同心圆,这些同心圆轨迹叫做磁道;磁道从外向内从0开始顺序编号。
--扇区--
将一个盘面划分为若干内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每段圆弧叫做一个扇区。每个扇区中的 数据作为一个单元同时读出或写入。硬盘的第一个扇区,叫做引导扇区。
--柱面--
所有盘面上的同一磁道构成一个圆柱,称作柱面
--图片--
8.命名
kernrl对不同接口硬盘命名方式
RHEL7/centos7
==IDE(并口)==
/dev/hda
/dev/hdb
==SATA(串口)==
/dev/sda
/dev设备文件目录
sda是一个文件
s代表sata就是串口
d代表磁盘
a第一块
/dev/sdb 第二块磁盘
请问第五块磁盘的全名
9.分区方式
==MBR==
主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导
MBR支持最大的磁盘容量是 <2TB。设计时分配4个分区
如果希望超过4个分区,需放弃主分区,改为扩展分区和逻辑分区。
命令:fdisk
==GPT==
GPT全局唯一标识分区表(GUIDPartition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。
GPT 支持大于2T的硬盘,支持128个分区
2.管理磁盘
==添加磁盘==
WMWARE增加磁盘
先关闭虚拟机
--编辑虚拟机设置--
--增加磁盘--
==管理磁盘流程三部曲==
新硬盘 :分区(MBR或者GPT) ---->格式化/文件系统 Filesystem ----> 挂载mount
毛坯房: 隔间-----------> 放家具/打造格子柜----------------> 加个门/目录
1.查看磁盘信息
方法1:
[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 1月 25 09:35 /dev/sda
brw-rw----. 1 root disk 8, 1 1月 25 09:35 /dev/sda1
brw-rw----. 1 root disk 8, 2 1月 25 09:35 /dev/sda2
brw-rw----. 1 root disk 8, 16 1月 25 09:35 /dev/sdb
brw-rw----. 1 root disk 8, 32 1月 25 09:35 /dev/sdc
brw-rw----. 1 root disk 8, 48 1月 25 09:35 /dev/sdd
/dev/sdb /dev/sdc /dev/sdd 相当于购买的新磁盘
方法二:
命令:lsblk
名称 设备文件 序号 是否可移动设备 大小 是否可读 磁盘或分区 挂载点
2.创建区分
==MBR==
把房子房子分成卧室和客厅
==启动分区工具==
==进入会话模式==、
提示1
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xd43058cb 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):
操作
敲击字母“n”键
新建分区
说明
欢迎界面,输入帮助指令或操作指令。
提示2
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
操作
敲击字母“p”键
说明
请选择主分区,或扩展分区
提示3
Select (default p): p
分区号 (1-4,默认 1):
操作
敲击数字“1”键
说明
选择分区号
提示4
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
操作
敲击回车键
说明
选择磁盘开始的扇区
提示5
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
操作
输入分区大小“+1G” 后回车
实际环境根据磁盘划分,如4T磁盘,可以500G 一个分区。
说明
选择磁盘分区结束的扇区,即分区大小
提示6
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):
说明
已经完成 2G 大小分区记录。但未生效
提示7
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#
操作
输入w保存分区信息
自动退出分区工具
==刷新分区表==
[root@localhost ~]# partprobe /dev/sdc
==查看分区结果==
[root@localhost ~]# fdisk -l /dev/sdc
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd43058cb
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
或是使用lsblk也可查看
结论
划分磁盘完毕,/dev/sdb1
3.创建文件系统/格式化
文件系统:房子里的格子柜
语法:[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
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
新创建的分区,sdb2,sdb3 都要格式化
4.挂载mount
[root@localhost ~]# mkdir /mnt/disk1
命令: [root@localhost ~]#mount -t ext4 /dev/sdc1 /mnt/disk1c
5.查看挂载信息
方法一: df-hT
[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 ext4 2G 6M 1.9G 3% /mnt/disk1
分区 文件系统 大小 占用 空闲 占比 挂载点
方法二:mount
[root@server0 ~]# mount
/dev/sdb1 on /mysql_data type xfs (rw,relatime,seclabel,attr2,inode64,noquoa)
/dev/sdb3 on /mnt/disk1/disk2/disk3/disk4 type ext4 (rw,relatime,seclabel,dta=ordered)
mount 看的是磁盘有没有特殊属性,具体属性在后续讲解。
6.磁盘分区的数量可以超过4吗?
放弃一个主分区,选择创建扩展分区。
主分区已创建并使用
0.先卸载
umount /dev/sdb4
1.删除主分区
fdisk /dev/sdb
d
删除分区
4
第四个分区
p
打印分区列表,查看删除结果
2.创建扩展分区
n
创建分区
e
扩展分区
回车
起始扇区
回车
磁盘的结尾
3.创建逻辑分区
n
l
回车
+200M
p
主分区未创建未使用
n
e
回车
回车
7.重启后的影响
mount临时挂载就消失了。需要---使用永久挂载
语法:vim /etc/fstab
/dev/sdb1 /mnt/disk1 ext4 defaults 0 0
磁盘 挂载点 文件系统类型 默认选项 优先级 优先级
然后使用立刻挂载命令
语法: mount -a
第二行书写错误,挂载出现提示。修改,再挂载
二.逻辑卷LVM
==前言==
写满一个磁盘需要几步?
dd if=/dev/zero of=/mnt/disk4/1.txt bs=1M count=1000
基本磁盘,缺点是无法调整大小!!!
==LVM目的==
管理磁盘的一种方式,性质与基本磁盘无异
特点:随意扩张大小
==术语==
LVM是 Logical Volume Manager(逻辑卷管理)
PV:物理卷(Physical volume):一块硬盘,或多块硬盘
VG:卷组(Volume Group):一堆磁盘的统称
LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区
一.创建LVM
准备物理磁盘:
0. 准备物理磁盘
[root@localhost~]# ll /dev/sd*
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/sdd
brw-rw----. 1 root disk 253, 48 Jun 6 17:38 /dev/sde
brw-rw----. 1 root disk 253, 64 Jun 6 17:38 /dev/sdf
1.pv:
==将物理磁盘,转换成物理卷-PV==
语法: [root@localhost~]# pvcreate /dev/sdd
Physical volume "/dev/sdc" successfully created
==查看PV信息 pvsan(扫描物理卷)==
语法:[root@localhost ~]# pvscan
PV /dev/vdd lvm2 [2.00 GiB]
Total: 1 [2.00 GiB] / in use: 0 [0 ] / in no VG: 1 [2.00 GiB]
语法:[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd lvm2 a-- 2.00g 2.00g
语法:[root@localhost ~]# pvdisplay
2.vg:
==创建卷组-VG==
[root@localhost ~]# vgcreate vg1 /dev/sdd
创建建组 卷组名 成员
Volume group "vg1" successfully created
==查看卷组信息==
第一种方法,查看卷组的摘要信息。卷组名,物理卷数量,逻辑卷数量,大小等
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- 2.00g 2.00g
第二种方法,扫描卷组信息。
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg1" using metadata type lvm2
第三种方法。显示卷组详细信息。
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 2.00 GiB //重点观察
PE Size 4.00 MiB //重点观察
Total PE 511 //重点观察
Alloc PE / Size 0 / 0
Free PE / Size 511 / 2.00 GiB
VG UUID 7E4tlj-l0a2-ph52-OytH-eaq7-58K6-2S4n8V
3.lv
[root@localhoset~]# lvcreate -L 200M -n lv1 vg1
指定大小,单位M,G
创建逻辑卷 -L大小 -n卷名 vg1组名(添加的组)
== 查看LV==
[root@localhost ~]# lvscan
ACTIVE '/dev/vg1/lv1' [400.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [200.00 MiB] inherit
4.创建文件系统 / 格式化并挂载
[root@localhost~]# mkfs.ext4 /dev/vg1/lv1
注意:/dev/卷组名/逻辑卷名
==创建挂载点==
[root@localhost~]# mkdir /mnt/lv1
==挂载==
[root@localhost ~]#mount /dev/vg1/lv1 /mnt/lv1
==查看挂载结果==
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1
/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2
逻辑卷管理完毕,就可以向挂载点写入数据了。
二.VG管理
==扩大VG vgextent==
环境:/dev/vg1 容量由5G 扩容到 10G。
步骤1,创建PV。而后使用第二步,将PV增加到VG中。
[root@localhost ~]# pvcreate /dev/sde
步骤2:扩展VG,同时包含方法1.
[root@localhost ~]# vgextend vg1 /dev/sde
扩展命令 卷组 扩展目标(物理券)
Volume group "vg1" successfully extended
查看VG
语法:[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 3.99g 3.76g
三.LV扩容
==扩大LV lvextent==
1.lv扩容
查看VG空间。
[root@locslhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 9.99g 5.99g
请观察,VG是否有剩余空间。
扩容LV。
[root@localhost ~]# lvextend -L +200M /dev/vg1/lv1
增加200M空间,给lv1
2.FS扩容
先观察文件系统当前容量。
语法: [root@server0 ~]# df -Th
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2
[root@server0 ~]# resize2fs /dev/vg1/lv1
再次观察df -hT 的分区大小。和上一次的对比一下。大小已经发生改变。
查看FS
语法: [root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
请注意对比,之前的输出结果,文件系统的大小发生改变。
四.命令汇总
三.交换分区管理Swap
==简介==
作用:设置交换分区大小为内存的2倍
生产:
大于4GB而小于16GB内存的系统,最小需要4GB交换空间
大于16GB而小于64GB内存的系统,最小需要8GB交换空间
大于64GB而小于256GB内存的系统,最小需要16GB交换空间
1.查看当前的交换分区
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1980 704 614 19 661 1110
Swap: 2047 0 2047
total: 表示物理内存总量。
used: 表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
free: 未被分配的内存。
shared: 共享内存,一般系统不会用到,这里也不讨论。
buffers: 系统分配但未被使用的buffers 数量。
cached: 系统分配但未被使用的cache 数量。
2.增加交换分区
1.准备分区
准备将/dev/sdf磁盘,划分为1G分区为例
[root@localhost~]# fdisk /dev/sdf
刷新:
[root@localhost ~]# partprobe /dev/sdf
查看:
[root@localhost ~]# ll /dev/sdf*
2.格式化
[root@localhost ~]# mkswap /dev/sdf1
3.挂载
[root@localhost ~]# swapon /dev/sdf1
4.验证,验证查看。
[root@localhost ~]# free -m