磁盘管理
会在linux中使用硬盘
-  分区 
-  格式化(重新安装文件系统) 
-  挂载 
磁盘的硬件架构
-  扇区:一个扇区512字节,是磁盘的最小单位 
-  磁道:同一盘片不同半径的同心圆 
-  柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同) 
mbr
mbr分区(老技术)gpt(新技术)
mbr:2TB以下的硬盘 fdisk
GPT:2TB以上的硬盘 gdisk
mbr位于磁盘的第一个扇区,其中包含
-  主引导程序 
-  分区表 
主引导程序:
加电,主板bios,检测硬件是否故障,启动硬件,根据bios中的设置去找系统
默认的优先级 本地硬盘——>本地光驱——>外接设备——>网卡
找硬盘,先找到硬盘的第一扇区(mbr)
mbr中的主引导程序会协助硬件找到操作系统
mbr分区
只能分4个
分区类型:
-  主分区:可以直接使用,安装操作系统,存储文件等 
-  扩展分区:不可以直接使用,需要再划分逻辑分区,让分区超过4个 
-  逻辑分区:可以直接使用,存储文件 
文件系统:用来管理(增删改查恢复)文件的程序
文件系统
文件系统的组成
-  内核中的模块:ext4,xfs,vfat 
-  Linux的虚拟文件系统:VFS 
-  用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat 
xfs centos7默认文件系统
ntfs win 默认文件系统
ext4
swap
-  硬盘接口刷新命令: 
echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan
硬盘多就以下往下刷新,在市场环境中不允许服务器重启的情况下使用,一般都不允许重启服务器,常用命令
mkfs -t:指定文件系统类型
lsblk:显示块设备(磁盘)显示比较详细
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 2G 0 lvm [SWAP]└─centos-home 253:4 0 47G 0 lvm /home sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part ├─vg01-lvol0 253:2 0 15G 0 lvm └─vg01-cxk 253:3 0 20G 0 lvm sdc 8:32 0 20G 0 disk └─sdc1 8:33 0 20G 0 part └─vg01-cxk 253:3 0 20G 0 lvm sr0 11:0 1 4.2G 0 rom 
partprobe:分完区以后,系统未识别可是使用该命令刷新分区表
blkid:查看设备的唯一
[root@localhost ~]# blkid /dev/sda1: UUID="a70be810-5c71-48cb-a389-a4358ba97829" TYPE="xfs" /dev/sda2: UUID="fFpEHT-PN0A-Zo4h-Y93e-hMvc-KOMP-EoDI4j" TYPE="LVM2_member" /dev/sdb1: UUID="7P5Ypp-kVOc-WxEU-eyPa-Zz2X-sdDp-xuMHcT" TYPE="LVM2_member" /dev/sdc1: UUID="7CDYAo-aUVH-MFpF-C5RA-npyU-sbLL-c3tB18" TYPE="LVM2_member" /dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/mapper/centos-root: UUID="14a2fd8f-0233-499e-a65c-a05fd60ebd51" TYPE="xfs" /dev/mapper/centos-swap: UUID="a24fac42-07c1-4a59-a869-1ab8a0c8c36a" TYPE="swap" /dev/mapper/vg01-cxk: UUID="4d603c8b-4abb-4af2-88a4-7ed089060f83" TYPE="xfs" /dev/mapper/centos-home: UUID="18031c09-075d-4185-a966-9650b3f7be62" TYPE="xfs" 
创建分区
普通分区fdisk /dev/sdb > n > p>w
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x36c531ec 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
 
扩展分区fdisk /dev/sdb > n > e>w
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Extended 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
 
逻辑分区fdisk /dev/sdb > n > l>w
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 1 extended, 2 free)l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (20975616-41943039,默认为 20975616):
将使用默认值 20975616
Last 扇区, +扇区 or +size{K,M,G} (20975616-41943039,默认为 41943039):
将使用默认值 41943039
分区 5 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
 
 
格式化
mkfs.xfs /dev/sdb1
[root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655360 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=2621440, imaxpct=25= sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 
挂载
mount:临时挂载
[root@localhost ~]# mount /dev/sdb1 /mnt [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─centos-root 253:0 0 50G 0 lvm /├─centos-swap 253:1 0 2G 0 lvm [SWAP]└─centos-home 253:2 0 47G 0 lvm /home sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 10G 0 part /mnt ├─sdb2 8:18 0 1K 0 part └─sdb5 8:21 0 10G 0 part sdc 8:32 0 20G 0 disk sr0 11:0 1 1024M 0 rom 
/etc/fstab:永久挂在
一定使用UUID绑定挂载:blkid查看块设备UUID
设备名 挂载点 文件系统类型 权限 0 0
fsck:修复文件系统
swap分区
当内存不足时将硬盘空间当成内存使用
分区
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x742e2b6e 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n   
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 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.
正在同步磁盘。 
格式化
mkfs.xfs /dev/sdc1
挂载 > 开启
-  关闭swap分区 -  swapoff -a 【设备名】 
 
-  
-  开启swap分区 -  swapon -a 【设备名】 
 
-  
逻辑卷
分区缺点
1.没有备份功能
2.无法扩容
3,性能取决于硬盘本身
逻辑卷原理:lvm分区(t要8e) 一整块磁盘
1.先确定可以使用的磁盘或分区
2.先将硬盘拆分成一个个小的块(块大小默认为4M)
3.然后将这些块组成一个集合
4.从这个集合中取块(去空间)
逻辑卷解决了分区无法扩容的问题
/boot分区用于存放引导文件,不能基于创建
图形界面管理工具
LVM的管理命令
主要命令
| 功能 | 物理卷管理(pv) | 卷组管理(vg) | 逻辑卷管理(lv) | 
|---|---|---|---|
| scan | pvscan | vgscan | lvscan | 
| create | pvcreate | vgcreate | lvcreate | 
| display | pvdisplay | vgdisplay | lvdisplay | 
| remove | pvremove | vgremove | lvremove | 
| extend | vgextend | lvextend | |
| reduce | vgreduce | lvreduce | 
pvcreat 设备1 [设备2.....]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x36c531ec
设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   8e  Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/sdb1.
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: yWiping xfs signature on /dev/sdc1.Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# vgcreate vg01 /dev/sdb1  /dev/sdc1Volume group "vg01" successfully created
[root@localhost ~]# lvcreate -L +10G -n cxk vg01Logical volume "cxk" created.
[root@localhost ~]# mkfs.xfs /dev/vg01/cxk
meta-data=/dev/vg01/cxk          isize=512    agcount=4, agsize=655360 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/vg01/cxk /mnt
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part ├─centos-root 253:0    0   50G  0 lvm  /├─centos-swap 253:1    0    2G  0 lvm  [SWAP]└─centos-home 253:2    0   47G  0 lvm  /home
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   20G  0 part └─vg01-cxk    253:3    0   10G  0 lvm  /mnt
sdc               8:32   0   20G  0 disk 
└─sdc1            8:33   0   20G  0 part 
sr0              11:0    1 1024M  0 rom