简要概述磁盘相关概念
2017-07-31 11:15
916 查看
一。 磁盘物理结构
磁盘是永久存储数据的物理介质
内部结构图如下(图片和物理结构引用自http://soysauce93.blog.51cto.com/7589461/1715655):
磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头,实现数据的存取 (也就是盘片正反面都能存储)
磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道,从外边缘的0开始 编号,根据磁化方向来存数数据0和1 (判断最外面的一圈就是0号磁道)
柱面(cylinder):不同盘片的相同编号的磁道构成的圆柱面就被称之为柱面,磁盘的柱面数与一个盘面上的磁道数是相等的
扇区(sector):每个磁道都别切分成很多扇形区域,每个磁道的扇区数量相同,每个扇区大小为512字节
圆盘(platter):就是硬盘的盘片,为实现大容量,一般都是多个
硬盘的容量=圆盘数×磁道数×磁头数×扇区数×512(字节数)
二。 磁盘逻辑结构
每台计算机拥有多个磁盘 每个磁盘使用前必须分区即定义好文件的组织形式 目前磁盘分区的两种格式为 MBR和GPT 分区是由 逻辑快组成
每个快都是由1个或者多个扇区组成
1》MBR(Master Boot Record) 磁盘的开头部分定义分区表 该分区表为 64字节 每个分区的参数为16字节 所以最多能
定义 64/16=4个分区 4个分区在window体现为 window磁盘 盘符(CDEF) Linux体现为几个文件系统(挂载到目录) 四个分区
有时很难满足日常所需 将分区分为 主分区和拓展分区 主分区实际上就是已经确定好的分区盘符 拓展分区是不能直接使用的空间
必须将他拆分成多个独立的逻辑分区 才能使用 这里拆出来的逻辑分区和主分区 对于用户来说都是一样的
一般在之前的32位系统上 磁盘分区 基本使用MBR 在主分区安装操作系统时 一般会在主分区磁盘下 有个Boot.ini文件 使用BIOS引导
MBR的缺点:只能存在4个主分区,分区表只有一份 如果损坏磁盘就挂了
2》GPT(GUID分区表)在64上渐渐取代了MBR 每一个分区上都有一个唯一的GUID 可以支持无线的主分区 不再需要拓展分区 GPT会保存
分区表的多个备份 一旦损坏 使用备份自动还原 在分区安装操作系统 一般使用的是UEFI引导 UEFI系统引导文件会存在一个单独的主分区上
window磁盘 可以使用 PartitionMagic等软件
linux上可以使用 fdisk(2T以下分区)或者parted命令(2T以上)
3》文件系统
通过分区将不同的磁盘拆分为不同物理盘 不同盘之间互不响应 每一个物理盘 都必须要格式化为特定的文件系统 文件系统表示文件的存储和归档格式
比如window常用的FAT32和NTFS linux (EXT2,EXT3,EXT4,XFS)等
window下 NTFS对比与FAT32优点 通过标准事务日志功能与恢复技术确保卷的一致性。如果系统出现故障,NTFS能够使用日志文件与检查点信息来恢复文件系统的一致性,碎片少、性能佳、安全性强、可压缩NTFS里所有文件、设定权限、配额、支持单个文件大于4GB等
linux下 centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3,xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。xfs被称为业界最先进的、最具可升级性的文件系统技术
4》分区常用命令演示
》》fdisk分区命令演示
通过虚拟机模拟添加磁盘
虚拟机右键 设置-添加 -磁盘
重新启动虚拟机 后
fdisk -l
可以看到 sda被分成了三个分区 sdb还没有任何分区
通过 Sector size (logical/physical): 512 bytes / 512 bytes 知道 扇区的大小为 512字节 明显是MBR分区
如果扇区的大小为4K 表示是GPT分区
可以看到对应的挂载目录
fdisk /dev/sdb
常用命令
p 打印所有的分区
n 新建一个分区
d 删除输入的分区编号指定的分区
m 帮助命令
o 创建空的dos头 可以显示所有的磁盘大小等信息
l 列表显示所有的分区类型 我这里不支持 比如FAT32 等
t 转换分区的类型为 l列表显示的编号 即可修改分区
g 将磁盘转换为GPT分区格式
分区后的磁盘需要格式化为指定文件系统才能进行文件存储 linux格式化命令:mkfs
查看mkfs支持的文件系统类别
执行命令 mkfx.文件系统名 分区名称
访问分区 必须挂载到目录 如果直接访问
parted 磁盘路径 进入parted命令
常用命令
help 显示所有的命令
print 打印当前分区信息
mklabel 分区类型 比如 mklable gpt|msdos
删除分区 rm 输入分区编号
创建分区 mkpart 输入主分区还是拓展分区 输入文件系统类型 同时输入开始的大小的位置和结束位置的大小
格式化分区和挂载 同fdisk方式
》》lvm分区命令演示
什么是LVM?LVM(Logical Volume Manager)逻辑卷管理 是通过一个抽象的磁盘管理层 来管理物理磁盘或者分区 管理层管理的物理磁盘或者分区对用户
不可见 管理层 可以将这些物理的磁盘分区 进行逻辑拆分为新的分区 这个逻辑分区当容量不足时 lvm可以动态扩容
图示(图片来源于jb51):
概念理解:
1. PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。
2. PE(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候指定,如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。
3.VG(Volume Group):卷组,建立在PV之上,可以含有一个到多个PV。
4. LV(Logical Volume):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。
lvm安装
加载device-mapper模块 modprobe dm_mod
yum安装 yum install lvm2
环境测试
创建一个VG有多个PV组成
假设有sdb设备分为两个区 sdb1 sdb2 (parted分区 mkfs格式化)
PV 就是 sdb1 和sdb2 两个 使用pvcreate创建
VG 就是 两个pv组成
将上面两个pv放在同一个VG中 VG就可以逻辑分区了
开始创建LV
其他lvm命令
lvremove :删除一个 LV !
vgremove 删除vg
pvremove 删除pv
lvscan 查看所有的逻辑卷
vgscan 查看所有的卷组
pvsan 查看所有的物理卷
lvm 后输入help查看所有命令
磁盘是永久存储数据的物理介质
内部结构图如下(图片和物理结构引用自http://soysauce93.blog.51cto.com/7589461/1715655):
磁头(head)数:每个盘片一般有上下两面,分别对应1个磁头,共2个磁头,实现数据的存取 (也就是盘片正反面都能存储)
磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道,从外边缘的0开始 编号,根据磁化方向来存数数据0和1 (判断最外面的一圈就是0号磁道)
柱面(cylinder):不同盘片的相同编号的磁道构成的圆柱面就被称之为柱面,磁盘的柱面数与一个盘面上的磁道数是相等的
扇区(sector):每个磁道都别切分成很多扇形区域,每个磁道的扇区数量相同,每个扇区大小为512字节
圆盘(platter):就是硬盘的盘片,为实现大容量,一般都是多个
硬盘的容量=圆盘数×磁道数×磁头数×扇区数×512(字节数)
二。 磁盘逻辑结构
每台计算机拥有多个磁盘 每个磁盘使用前必须分区即定义好文件的组织形式 目前磁盘分区的两种格式为 MBR和GPT 分区是由 逻辑快组成
每个快都是由1个或者多个扇区组成
1》MBR(Master Boot Record) 磁盘的开头部分定义分区表 该分区表为 64字节 每个分区的参数为16字节 所以最多能
定义 64/16=4个分区 4个分区在window体现为 window磁盘 盘符(CDEF) Linux体现为几个文件系统(挂载到目录) 四个分区
有时很难满足日常所需 将分区分为 主分区和拓展分区 主分区实际上就是已经确定好的分区盘符 拓展分区是不能直接使用的空间
必须将他拆分成多个独立的逻辑分区 才能使用 这里拆出来的逻辑分区和主分区 对于用户来说都是一样的
一般在之前的32位系统上 磁盘分区 基本使用MBR 在主分区安装操作系统时 一般会在主分区磁盘下 有个Boot.ini文件 使用BIOS引导
MBR的缺点:只能存在4个主分区,分区表只有一份 如果损坏磁盘就挂了
2》GPT(GUID分区表)在64上渐渐取代了MBR 每一个分区上都有一个唯一的GUID 可以支持无线的主分区 不再需要拓展分区 GPT会保存
分区表的多个备份 一旦损坏 使用备份自动还原 在分区安装操作系统 一般使用的是UEFI引导 UEFI系统引导文件会存在一个单独的主分区上
window磁盘 可以使用 PartitionMagic等软件
linux上可以使用 fdisk(2T以下分区)或者parted命令(2T以上)
3》文件系统
通过分区将不同的磁盘拆分为不同物理盘 不同盘之间互不响应 每一个物理盘 都必须要格式化为特定的文件系统 文件系统表示文件的存储和归档格式
比如window常用的FAT32和NTFS linux (EXT2,EXT3,EXT4,XFS)等
window下 NTFS对比与FAT32优点 通过标准事务日志功能与恢复技术确保卷的一致性。如果系统出现故障,NTFS能够使用日志文件与检查点信息来恢复文件系统的一致性,碎片少、性能佳、安全性强、可压缩NTFS里所有文件、设定权限、配额、支持单个文件大于4GB等
linux下 centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3,xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。xfs被称为业界最先进的、最具可升级性的文件系统技术
4》分区常用命令演示
》》fdisk分区命令演示
通过虚拟机模拟添加磁盘
虚拟机右键 设置-添加 -磁盘
重新启动虚拟机 后
fdisk -l
[root@ha1 ~]# fdisk -l Disk /dev/sda: 85.9 GB, 85899345920 bytes, 167772160 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0007d8da Device Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 4812799 2098176 82 Linux swap / Solaris /dev/sda3 4812800 167772159 81479680 83 Linux Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes两个Disk 分别为 /dev/sda 和 /dev/sdb(新增加的磁盘 为 2G)
可以看到 sda被分成了三个分区 sdb还没有任何分区
通过 Sector size (logical/physical): 512 bytes / 512 bytes 知道 扇区的大小为 512字节 明显是MBR分区
如果扇区的大小为4K 表示是GPT分区
可以看到对应的挂载目录
[root@ha1 ~]# df -T Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 81439896 3177912 78261984 4% / devtmpfs 925136 0 925136 0% /dev tmpfs 934328 0 934328 0% /dev/shm tmpfs 934328 8788 925540 1% /run tmpfs 934328 0 934328 0% /sys/fs/cgroup /dev/sda1 303788 108712 195076 36% /boot tmpfs 186868 0 186868 0% /run/user/0开始对新增的/dev/sdb 进去分区 假设分为两个分区
fdisk /dev/sdb
常用命令
p 打印所有的分区
n 新建一个分区
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) 主分区 自动重建4个 e extended 拓展分区 可以创建逻辑分区 Select (default p): p Partition number (1-4, default 1): 分区编号 分区命名是 磁盘名+编号 比如sda1 First sector (2048-4194303, default 2048): 0 第一个删除的编号 默认从 2048开始 Value out of range. First sector (2048-4194303, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): 2100000 结束的扇区 比如最大 4194303/2就是一半空间 Partition 1 of type Linux and of size 1 GiB is set 大概就是1G了 Command (m for help): n 再次创建一个主分区 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (2-4, default 2): First sector (2100001-4194303, default 2101248): 2100001 从上一次的20000001下一个扇区开始 Last sector, +sectors or +size{K,M,G} (2100001-4194303, default 4194303): 直接回车就是讲所有的剩余空间给第二个分区 Using default value 4194303 Partition 2 of type Linux and of size 1022.6 MiB is set Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p Partition number (3,4, default 3): No free sectors available 创建第三个分区时 没有剩余空间了w 保存分区写入磁盘 并且退出 fdisk命令
d 删除输入的分区编号指定的分区
m 帮助命令
o 创建空的dos头 可以显示所有的磁盘大小等信息
l 列表显示所有的分区类型 我这里不支持 比如FAT32 等
t 转换分区的类型为 l列表显示的编号 即可修改分区
g 将磁盘转换为GPT分区格式
分区后的磁盘需要格式化为指定文件系统才能进行文件存储 linux格式化命令:mkfs
查看mkfs支持的文件系统类别
[root@ha1 ~]# whereis mkfs mkfs: /usr/sbin/mkfs /usr/sbin/mkfs.cramfs /usr/sbin/mkfs.minix /usr/sbin/mkfs.xfs /usr/sbin/mkfs.btrfs /usr/sbin/mkfs.ext2 /usr/sbin/mkfs.ext3 /usr/sbin/mkfs.ext4 /usr/share/man/man8/mkfs.8.gz明显有mkfx.xfs mkfx.ext2 mkfx.ext3 mkfx.ext4
执行命令 mkfx.文件系统名 分区名称
[root@ha1 ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=256 agcount=4, agsize=131007 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=524027, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 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@ha1 ~]# cd /dev/sdb1 -bash: cd: /dev/sdb1: Not a directory [root@ha1 ~]# mkdir /sdb1 [root@ha1 ~]# mount /dev/sdb1 /sdb1 可以直接访问 /sdb1 查看剩余空间和挂载的目录 [root@ha1 sdb1]# df -Thl Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 xfs 78G 3.1G 75G 4% / devtmpfs devtmpfs 904M 0 904M 0% /dev tmpfs tmpfs 913M 0 913M 0% /dev/shm tmpfs tmpfs 913M 8.6M 904M 1% /run tmpfs tmpfs 913M 0 913M 0% /sys/fs/cgroup /dev/sda1 xfs 297M 107M 191M 36% /boot tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/sdb1 xfs 2.0G 33M 2.0G 2% /sdb1》》parted分区命令演示
parted 磁盘路径 进入parted命令
常用命令
help 显示所有的命令
print 打印当前分区信息
mklabel 分区类型 比如 mklable gpt|msdos
删除分区 rm 输入分区编号
创建分区 mkpart 输入主分区还是拓展分区 输入文件系统类型 同时输入开始的大小的位置和结束位置的大小
(parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? ext4 Start? Start? 0 End? 2100M Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? i (parted) print Model: VMware, VMware Virtual S (scsi) Disk /dev/sdb: 3221MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 512B 2100MB 2100MB primaryfdisk查看
[root@ha1 ~]# fdisk -l Disk /dev/sdb: 3221 MB, 3221225472 bytes, 6291456 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x00078785 Device Boot Start End Blocks Id System /dev/sdb1 1 4101562 2050781 83 Linux /dev/sdb2 4102144 6291455 1094656 83 Linux
格式化分区和挂载 同fdisk方式
》》lvm分区命令演示
什么是LVM?LVM(Logical Volume Manager)逻辑卷管理 是通过一个抽象的磁盘管理层 来管理物理磁盘或者分区 管理层管理的物理磁盘或者分区对用户
不可见 管理层 可以将这些物理的磁盘分区 进行逻辑拆分为新的分区 这个逻辑分区当容量不足时 lvm可以动态扩容
图示(图片来源于jb51):
概念理解:
1. PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。
2. PE(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候指定,如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。
3.VG(Volume Group):卷组,建立在PV之上,可以含有一个到多个PV。
4. LV(Logical Volume):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。
lvm安装
加载device-mapper模块 modprobe dm_mod
yum安装 yum install lvm2
环境测试
创建一个VG有多个PV组成
假设有sdb设备分为两个区 sdb1 sdb2 (parted分区 mkfs格式化)
PV 就是 sdb1 和sdb2 两个 使用pvcreate创建
[root@ha1 /]# pvcreate /dev/sdb1 WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y Wiping ext4 signature on /dev/sdb1. Physical volume "/dev/sdb1" successfully created. [root@ha1 /]# pvcreate /dev/sdb2 WARNING: ext4 signature detected on /dev/sdb2 at offset 1080. Wipe it? [y/n]: y Wiping ext4 signature on /dev/sdb2. Physical volume "/dev/sdb2" successfully created.
VG 就是 两个pv组成
将上面两个pv放在同一个VG中 VG就可以逻辑分区了
[root@ha1 /]# vgcreate myvg /dev/sdb1 /dev/sdb2 Volume group "myvg" successfully created从VG是从sbd1和sdb2组成的实际物理大小就是sdb1+sdb2大小之和
开始创建LV
[root@ha1 /]# lvcreate -L 300M -n mylv myvg 从myvg的卷组中 分出一个逻辑卷 名称为mylv Logical volume "mylv" created.格式化挂载同fdisk
[root@ha1 /]# fdisk -l Disk /dev/mapper/myvg-mylv: 314 MB, 314572800 bytes, 614400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes [root@ha1 /]# mkfs.ext4 /dev/mapper/myvg-mylv mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 76912 inodes, 307200 blocks 15360 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=33947648 38 block groups 8192 blocks per group, 8192 fragments per group 2024 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done [root@ha1 /]# mount /dev/mapper/myvg-mylv /mylv
其他lvm命令
lvremove :删除一个 LV !
vgremove 删除vg
pvremove 删除pv
lvscan 查看所有的逻辑卷
vgscan 查看所有的卷组
pvsan 查看所有的物理卷
lvm 后输入help查看所有命令
相关文章推荐
- 磁盘相关概念以及知识
- Spring概述、框架搭建、相关概念、配置详解(XML)和配置详解(注解)
- SQL Server数据仓库相关概念-维度表和事实表概述
- JavaMail实现收发邮件——(一)相关概念概述
- Spring概述、框架搭建、相关概念、配置详解(XML)和配置详解(注解)
- JAVA基础系列(一) 概述与相关概念
- UFT GUI 测试—— 概述 相关项: GUI 测试和组件 UFT GUI 测试解决方案采用关键字驱动测试的概念, 以增强测试创建和维护。 关键字驱动测试是一项将大量编程工作与实际测试步骤分离的技术
- Windows Azure 的磁盘管理相关概念
- Linux virtual filesystem switch I 磁盘相关概念以及知识
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)
- Linux学习笔记#1_磁盘以及磁盘分区相关的概念
- 磁道磁盘浅谈机械磁盘相关概念:磁道、柱面、扇区、寻道时间、旋转延迟、数据传输时间
- 浅谈机械磁盘相关概念:磁道、柱面、扇区、寻道时间、旋转延迟、数据传输时间
- Angular简要概述一些概念
- J2SE多线程 part1 多线程的相关概念
- 视频的一些相关概念(三)
- 理解嵌入式开发中的一些硬件相关的概念
- (OK) Android graphic (12)—display上层相关概念、关系 - mLogicalDisplays.get(Display.DEFAULT_DISPLAY)
- GRAPH --- 图的相关概念整理
- 二分图相关概念 二分图最大匹配 二分图最大权匹配 poj3041 poj2195