1 存储方式
1.从磁盘的工作原理上分类磁盘
机械磁盘 HDD
固态磁盘 SSD
2.从插拔方式上分类磁盘
热插拔
非热插拔
3.从硬盘接口上分类磁盘
IDE-SATA(串行ATA)
SCSI-SAS(串行SCSI)
PCIE接口
FC光纤接口
4.从连接方式上分类
本地存储
外部存储
网络存储
5 从分区方式区分
MBR
MBR是MSDOS; 兼容windows的MBR(Master boot record); 只能处理小于2TB的磁盘; 用fdisk工具分区; 最多只能有14个分区(4个主分区,扩展分区,逻辑分区); 磁盘的第一扇区,第一扇区有512bytes,存放两类数据:MBR和分区表 MBR: 安装有开机管理程序,占446bytes 分区表: 记录整颗磁盘分区的状态,占64bytes ## 由于分区表只有64bytes,所以只能最多有四组记录区(每个记录占用16bytes),每组记录区记录了该区段的起始和结束扇区号码; ## 所以每块磁盘只能有四个分区槽; ## 这四个分区槽是主分区Primary和扩展分区Extended; 每个分区的前面都有一个启动扇区,用于存放操作系统的启动程序; 扩展分区的前面有一个扩展分区启动记录区占用多个扇区,用于存放里面的所有逻辑分区的起止扇区号码; 扩展分区不能格式化,只能再分成若干个逻辑分区槽; 扩展分区利用多个扇区来记录逻辑分区信息,由于是用多个扇区来记录,所以支持大于4个逻辑分区;
逻辑分区的槽号是从5开始,1-4是保留给主分区和扩展分区的 P1: /dev/sda1 P2: /dev/sda2 L1: /dev/sda5 L2: /dev/sda6 L3: /dev/sda7 L4: /dev/sda8 L5: /dev/sda9
MBR中主分区、 扩展分区、逻辑分区总结
主分区和扩展分区最多有4个;
扩展分区最多只能有1个;
逻辑分区由扩展分区生;
能被格式化后使用的分区为主分区和逻辑分区; 扩展分区不能直接使用;
逻辑分区的数量由操作系统决定。
GPT(GUID partition table)
可以处理大于或小于2TB的磁盘; 在CentOS6中用parted工具分区;在CentOS7中用gdisk工具分区; 最多只能有128个分区;没有扩展分区和逻辑分区的概念,都是主分区 GPT将磁盘所有区块以LBA来规划;LBA:Logical Block Address ,预设每个LBA为512bytes,第一个LBA称为LBA0; GPT使用前面的34个LBA;除此之外还使用了最后的33个LBA做备份; GPT分区中没有主分区、扩展分区、逻辑分区的概念,每个分区都能使用; 磁盘管理程序中fdisk不识别GPT分区;gdisk和parted可以识别; grub第一版不识别GPT
LBA0: 与MBR兼容。这个LBA0区块也分两部分,第一部分是和MBR相似的446bytes块区,存储了第一阶段的开机管理程序;第二部分放置了一个特殊标志的分区用来表示此块磁盘为GPT分区格式磁盘,不能识别GPT分区表的磁盘管理程序是不能修改此分区信息的 LBA1: 记录GPT分区表的表头数据,内容为:分区表本身的位置和大小;备份GPT(最后34个LBA区块)放置的位置;放置了分区表检验机制码CRC32,操作系统根据这个码来判断GPT是否正确,如果错误,从备份GPT恢复。 LBA2-33: 实际记录分区信息的地方,每个LBA可以记录4个分区槽信息,所以一共可以有128个分区槽
2 基本分区
7.2.1 添加新磁盘
“ lsblk ”——查看系统的分区情况
[root@localhost boot]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 26G 0 lvm / └─centos-swap 253:1 0 3G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 8G 0 part sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
7.2.2 MBR分区
" fdisk -l "——查看系统所挂硬盘个数及分区情况
[root@localhost boot]# fdisk -l /dev/sda 磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a533f 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM
采用MBR分区表,使用fdisk对sdc进行分盘
[root@localhost boot]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):
输入“ m ”参数查看帮助信息,了解每个参数的具体作用、分区具体操作等
输入“ n ”参数尝试创建新的分区
命令(输入 m 获取帮助):n Partition type: p primary (1 primary, 0 extended, 3 free) e extended
输入“ P ” 参数,系统默认选择主分区,直接按回车键即可;
输入“ l ”参数,系统创建逻辑分区;
Select (default p): Using default response p
分区编号为2~4,系统默认为2,按回车键即可;(分区编号视个人情况而定)
分区号 (2-4,默认 2):
系统会提示扇区的起始位置,系统会自动选择最靠前的空间扇区位置,直接按回车即可
起始 扇区 (16779264-41943039,默认为 16779264): 将使用默认值 16779264
用户通过添加扇区或添加尺寸的方式定义扇区的终止位置,也就是定义最终分区空间的大小
Last 扇区, +扇区 or +size{K,M,G} (16779264-41943039,默认为 41943039):+100M 分区 2 已设置为 Linux 类型,大小设为 100 MiB
输入“ P ”参数,查看硬盘中的分区情况
命令(输入 m 获取帮助):p 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x43c3e080 设备 Boot Start End Blocks Id System /dev/sdb1 2048 16779263 8388608 83 Linux /dev/sdb2 16779264 16984063 102400 83 Linux
输入“ w ”参数,保存所有分区设置
命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
利用ll命令查看新分区的设备文件
[root@localhost boot]# ll /dev/sdb* brw-rw----. 1 root disk 8, 16 11月 26 21:01 /dev/sdb brw-rw----. 1 root disk 8, 17 11月 26 21:01 /dev/sdb1 brw-rw----. 1 root disk 8, 18 11月 26 21:01 /dev/sdb2
7.2.3 GPT分区
“ gdisk ”——对硬盘进行分区,系统显示创建新的GPT分区
root@localhost boot]# gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
输入“ ? ”参数可以查看帮助信息,输入“ n ”参数进行分区,此时没有分区选择,直接按回车键创建主分区,起始扇区使用默认值,按回车键定义终止扇区。设置为添加100MiB,系统提示当前类型是linux系统,直接回车键即可。
Command (? for help): n Partition number (3-128, default 3): First sector (34-41943006, default = 16984064) or {+-}size{KMGTP}: Last sector (16984064-41943006, default = 41943006) or {+-}size{KMGTP}: +100M Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem'
再创建一个分区
Command (? for help): n Partition number (4-128, default 4): First sector (34-41943006, default = 17188864) or {+-}size{KMGTP}: Last sector (17188864-41943006, default = 41943006) or {+-}size{KMGTP}: +5G Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem'
输入“ p ”参数显示分区信息,输入“ w ”保存,系统会提示即将写入GPT数据,这将覆盖已存在的分区,询问是否继续,输入“ y ”即可
Command (? for help): p Disk /dev/sdb: 41943040 sectors, 20.0 GiB Logical sector size: 512 bytes Disk identifier (GUID): DA12D06C-8701-4074-9A0B-0FE8E70FD2D8 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 41943006 Partitions will be aligned on 2048-sector boundaries Total free space is 14270397 sectors (6.8 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 16779263 8.0 GiB 8300 Linux filesystem 2 16779264 16984063 100.0 MiB 8300 Linux filesystem 3 16984064 17188863 100.0 MiB 8300 Linux filesystem 4 17188864 27674623 5.0 GiB 8300 Linux filesystem 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/sdb. The operation has completed successfully.
如果为真实硬盘需执行partprobe命令,查看新分区情况
[root@localhost boot]# partprobe /dev/sdb [root@localhost boot]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 26G 0 lvm / └─centos-swap 253:1 0 3G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk ├─sdb1 8:17 0 8G 0 part ├─sdb2 8:18 0 100M 0 part ├─sdb3 8:19 0 100M 0 part └─sdb4 8:20 0 5G 0 part sr0 11:0 1 4.4G 0 rom /run/media/root/CentOS 7 x86_64
查看sdb硬盘和sda硬盘的分区表类型
[root@localhost boot]# fdisk -l /dev/sdb WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt Disk identifier: DA12D06C-8701-4074-9A0B-0FE8E70FD2D8 # Start End Size Type Name 1 2048 16779263 8G Linux filesyste Linux filesystem 2 16779264 16984063 100M Linux filesyste Linux filesystem 3 16984064 17188863 100M Linux filesyste Linux filesystem 4 17188864 27674623 5G Linux filesyste Linux filesystem [root@localhost boot]# fdisk -l /dev/sda 磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000a533f 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 62914559 30407680 8e Linux LVM
2.4 创建文件系统
创建分区后并不能立即存放数据,需要对分区进行格式化
“ mkfs ”——再连续按两次tab键可以查看所有文件系统类型,centos 7文件系统默认为XFS
[root@localhost boot]# mkfs mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.xfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.vfat
使用EXT4文件系统格式化/dev/sdb1主分区,块大小为1024字节。块是文件存储的最小单位,若文件小于1KiB,也会占用1KiB的存储空间
[root@localhost boot]# 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 524288 inodes, 2097152 blocks 104857 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2147483648 64 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
使用XFS文件系统格式化/dev/sdb2主分区
[root@localhost boot]# mkfs.xfs /dev/sdb2 meta-data=/dev/sdb2 isize=512 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
2.5 挂载分区
格式化完成后需挂载分区,首先创建两个目录作为挂载点,然后使用mount命令临时把sdb1和sdb2分区分别挂载到date01与date02目录上。现在两个目录不再是两个普通的目录,而是设备的挂载点,用户要往设备中存放数据,需借助挂载点
[root@localhost ~]# mkdir /date01 [root@localhost ~]# mkdir /date02 [root@localhost ~]# mount /dev/sdb1 /date01 [root@localhost ~]# mount /dev/sdb2 /date02
“ df -h ”——查看文件系统的挂载点
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 13M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 26G 6.6G 20G 26% / /dev/sda1 1014M 185M 830M 19% /boot tmpfs 378M 32K 378M 1% /run/user/0 /dev/sr0 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 tmpfs 378M 36K 378M 1% /run/user/1000 /dev/sdb1 7.8G 36M 7.3G 1% /date01 /dev/sdb2 97M 5.3M 92M 6% /date02
挂载完成后,分别在这两个目录下创建两个空目录dir01与dir02,然后使用ll命令查看date01与date02目录,同样大小的空目录所占的存储空间是不同的
[root@localhost ~]# mkdir /date01/dir01 [root@localhost ~]# mkdir /date02/dir02 [root@localhost ~]# ll /date01 总用量 20 drwxr-xr-x. 2 root root 4096 11月 26 21:28 dir01 drwx------. 2 root root 16384 11月 26 21:19 lost+found [root@localhost ~]# ll /date02 总用量 0 drwxr-xr-x. 2 root root 6 11月 26 21:28 dir02
使用mount命令挂载是临时性的,系统重新启动后便失效,需要再次挂载,用户可以修改/etc/fstab配置文件,使其永久有效。
“ blkid ”——查看设备的UUID
[root@localhost ~]# blkid /dev/sdb1: UUID="67e9447b-a6dd-47d2-a738-55983bc3c915" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="fbc32bc2-b7da-4912-a191-920413125325" /dev/sdb2: UUID="570e001f-162e-4ecd-8873-6d2c82c0edfb" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="1254b3e7-55be-40ca-b198-0b57f29dbf6a" /dev/sdb3: PARTLABEL="Linux filesystem" PARTUUID="b5eaddb3-5935-4d8b-b755-2d4f47599a7a" /dev/sdb4: PARTLABEL="Linux filesystem" PARTUUID="ed1ede26-7603-4f30-b52a-8247f0f49f6a" /dev/sda1: UUID="f4b88752-547e-4442-bfbc-2ec46b75510c" TYPE="xfs" /dev/sda2: UUID="8yl9fP-Nj4t-OTt8-P2Q2-B3p8-1nrp-PUKcfd" TYPE="LVM2_member" /dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" /dev/mapper/centos-root: UUID="cf8c0d8c-19ca-496c-8ff6-6f8fc7a88517" TYPE="xfs" /dev/mapper/centos-swap: UUID="93521d4e-9ae4-4c93-8909-e46441105623" TYPE="swap"
在/etc/fstab 配置文件中写入设备的UUID,其中sdc1分区的挂载点为data03,文件系统类型为xfs,挂载选项为defaults,最后两个数字为0,表示不备份、不检测;sdc5分区的挂载点为data04,文件系统类型为auto(自动),挂载选项为ro(只读),最后两个数字为0,表示不备份、不检测。
# # /etc/fstab # Created by anaconda on Sun Sep 10 1415 2023 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=f4b88752-547e-4442-bfbc-2ec46b75510c /boot xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 UUID="67e9447b-a6dd-47d2-a738-5598bc3c915" /date01 xfs defaults 0 0 UUID="570e001f-162e-4ecd-8873-6d2c82c0edfb" /date02 auto ro 0 0
重新启动系统就可以读取新挂载的设备,也可使用“mount-a”命令读取/etc/fstab 文件并挂载设备。使用df命令查看已挂载设备信息,添加“T”参数可显示设备文件的类型,添加“h”参数可显示设备大小。
[root@localhost ~]# mount -a [root@localhost ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 13M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 26G 6.6G 20G 26% / /dev/sda1 xfs 1014M 185M 830M 19% /boot tmpfs tmpfs 378M 32K 378M 1% /run/user/0 /dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64 tmpfs tmpfs 378M 36K 378M 1% /run/user/1000 /dev/sdb1 ext4 7.8G 36M 7.3G 1% /date01 /dev/sdb2 xfs 97M 5.3M 92M 6% /date02
在完成硬盘的分区、挂载与格式化之后,可尝试通过挂载点存储数据:同时向data03与data04目录复制/etc/hosts文件。data03目录可以写入,data04提示无法创建常规文件。具体如下所示。
[root@localhost ~]# cp -rf /etc/host /date01 [root@localhost ~]# cp -rf /etc/host /date02 cp: 无法获取"/etc/host" 的文件状态(stat): 没有那个文件或目录
“ mount ”——显示设备的权限
/dev/sdb1 on /date01 type ext4 (rw,relatime,seclabel,data=ordered) /dev/sdb2 on /date02 type xfs (ro,relatime,seclabel,attr2,inode64,noquota)
3 本章小结
本章主要介绍了存储的方式(硬盘的参数及性能)与基本分区(MBR与GPT)。通过本章的学习,让我掌握了创建基本分区,创建文件系统及挂载的方法。
链接:https://www.cnblogs.com/twlwbiubiu/p/17858056.html
全部0条评论
快来发表一下你的评论吧 !