硬盘设备命名
物理硬盘: /dev/sd[a-z]
df -Th
KVM虚拟化:
/dev/vd[a-z](半虚拟化驱动)
/dev/sd[a-z](全虚拟化驱动)
从磁盘分区方式区分
分区的目的:
文件分类。将一块硬盘分成几个小块。用来根据使用存放不同的文件
一块硬盘最多可以分多少个分区 65535
MBR格式
分区命令:fdisk
一共可以分14个分区(4个主分区,扩展分区,逻辑分区) 例如: 3主 + 1扩展(n逻辑)
MBR 小于2TB的硬盘。
一块硬盘最多分4个主分区。
一块硬盘可以直接划分4个主分区,也可以划分3个主分区和一个扩展分区,扩展分区下面可以划分多个逻辑分区
GPT格式
分区命令:gdisk(parted---rhel6)
一共可以分128个主分区
GPT大于小于2TB都可以。最大可以多大,超过目前硬件可以支撑的硬盘大小
#注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘
基本分区
首先需要先给关机状态虚拟机添加磁盘
[root@sxw ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 7月 19 17:30 /dev/sda
brw-rw---- 1 root disk 8, 1 7月 19 17:30 /dev/sda1
brw-rw---- 1 root disk 8, 2 7月 19 17:30 /dev/sda2
brw-rw---- 1 root disk 8, 3 7月 19 17:30 /dev/sda3
brw-rw---- 1 root disk 8, 16 7月 19 17:35 /dev/sdb
[root@sxw ~]# lsblk #查看磁盘设备。当硬盘已经被添加,但是还没有格式化没有挂载的时候,使用lsblk查看硬盘信息
[root@sxw ~]# 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 2G 0 part [SWAP]
└─sda3 8:3 0 17G 0 part /
sdb 8:16 0 20G 0 disk
sr0 11:0 1 973M 0 rom
NAME: 设备的名称
MAJ:MIN 主设备号:次设备号
RM 设备是否可移动。0表示不可移动设备,1表示可移动设备。
RO 设备是否为只读。0表示可读写设备,1表示只读设备。
TYPE TYPE:设备的类型。常见的类型包括disk(硬盘)、part(分区)、rom(只读存储设备)等。
fdisk
MBR 14个分区(4个主分区,扩展分区,逻辑分区)
[root@sxw ~]# fdisk -l /dev/sdb #查看磁盘分区信息
[root@sxw ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x5a666cd7 创建新的 DOS 磁盘标签。
#DOS磁盘标签就是MBR格式
m 查看帮助
n 新建分区
命令(输入 m 获取帮助): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
默认回车
设置主分区大小创建主分区,然后
Command (m for help): p ---打印分区信息
创建扩展分区
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
#注意:扩展分区将剩下的空间全部给了。一路回车即可
创建逻辑分区
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l 创建逻辑分区
Adding logical partition 5
First sector (208896-20971519, default 208896):
Using default value 208896
Last sector, +sectors or +size{K,M,G} (208896-20971519, default 20971519): +5G #指定大小
Partition 5 of type Linux and of size 5 GiB is set
Command (m for help): w --保存退出
[root@sxw ~]# partprobe /dev/sdb #更新磁盘分区表,手动让内核更新分区表。不需要重启
[root@sxw ~]# lsblk #查看磁盘设备
命令(输入 m 获取帮助): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x5a666cd7
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
gdisk
GPT 128个主分区
转格式的时候保证此分区,没有被系统占用。
[root@sxw ~]# parted -s /dev/sdc mklabel gpt #将/dev/sdc(MBR格式)转换成(GPT格式)
[root@sxw ~]# parted -s /dev/sdc mklabel msdos #将/dev/sda(GPT格式)转换成(MBR格式)
创建分区
[root@sxw ~]# yum -y install gdisk #安装分区工具
[root@sxw ~]# gdisk -l /dev/sdc
[root@sxw ~]# gdisk /dev/sdc
Command (? for help): n --创建分区
Partition number (1-128, default 1):
First sector (34-16777182, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-16777182, default = 16777182) or {+-}size{KMGTP}: +100M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ---直接回车
Command (? for help): p --打印分区信息
Command (? for help): w ---保存
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y 是否覆盖是
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully.
[root@sxw ~]# partprobe /dev/sdc #刷新分区表
[root@sxw ~]# gdisk -l /dev/sdc
[root@sxw ~]# lsblk
创建文件系统(格式化)centos7默认使用xfs
[root@sxw ~]# mkfs.ext4 /dev/sdb1 #格式化成ext4格式的文件系统
[root@sxw ~]# mkfs.xfs /dev/sdc2 #格式化成xfs格式的文件系统
挂载mount使用
[root@sxw ~]# mkdir /mnt/disk1 #创建挂载目录
[root@sxw ~]# mkdir /mnt/disks #创建挂载目录
[root@sxw ~]# mount /dev/sdb1 /mnt/disk1/
[root@sxw ~]# mount /dev/sdc2 /mnt/disks/
查看磁盘挂载与磁盘使用空间
[root@sxw ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 17G 1.2G 16G 7% /
devtmpfs devtmpfs 982M 0 982M 0% /dev
tmpfs tmpfs 993M 0 993M 0% /dev/shm
tmpfs tmpfs 993M 8.7M 984M 1% /run
tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 125M 890M 13% /boot
tmpfs tmpfs 199M 0 199M 0% /run/user/0
/dev/sdb1 ext4 283M 2.1M 262M 1% /mnt/disk1
/dev/sdc2 xfs 197M 11M 187M 6% /mnt/disks
参数解释:
-T 打印文件系统类型
-h 人性化显示,磁盘空间大小
取消挂载
[root@sxw ~]# umount /mnt/disks/
[root@sxw ~]# umount -l /mnt/disk1/ #强行卸载,即使目录有资源被进程占用,也可以卸载
fstab开机自动挂载
/etc/fstab文件实现开机的时候自动挂载
[root@sxw ~]# blkid /dev/sdb1 #查看uuid和文件系统类型
/dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
[root@sxw ~]# vim /etc/fstab
参数解释:
第1列:挂载设备
(1)/dev/sda5
(2)UUID=设备的uuid rhel6/7的默认写法 同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
[root@sxw ~]# mount -a #自动挂载
实战
[root@sxw ~]# vim /etc/fstab
/dev/sdc2 /mnt/disks xfs defaults 0 0
[root@sxw ~]# mount -a
/etc/rc.d/rc.local开机自动挂载
这个配置文件会在用户登陆之前读取,这个文件中写入了什么命令,在每次系统启动时都会执行一次。也就是说,如果有任何需要在系统启动时运行的工作,则只需写入 /etc/rc.d/rc.local 配置文件即可
[root@sxw ~]# vim /etc/rc.d/rc.local #将挂载命令直接写到文件中
date >> /tmp/host_start.txt
mount /dev/sdb1 /mnt/disk1/
mount /dev/sdc1 /mnt/disk2/
[root@sxw ~]# chmod +x /etc/rc.d/rc.local #添加执行权限
[root@sxw ~]# reboot