简要概述磁盘相关概念

来源:互联网 发布:mac 五笔输入法 联想 编辑:程序博客网 时间:2024/05/16 07:21

一。 磁盘物理结构

    磁盘是永久存储数据的物理介质

    内部结构图如下(图片和物理结构引用自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 -lDisk /dev/sda: 85.9 GB, 85899345920 bytes, 167772160 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk 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  LinuxDisk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/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 -TFilesystem     1K-blocks    Used Available Use% Mounted on/dev/sda3       81439896 3177912  78261984   4% /devtmpfs          925136       0    925136   0% /devtmpfs             934328       0    934328   0% /dev/shmtmpfs             934328    8788    925540   1% /runtmpfs             934328       0    934328   0% /sys/fs/cgroup/dev/sda1         303788  108712    195076  36% /boottmpfs             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): pPartition number (1-4, default 1):              分区编号 分区命名是 磁盘名+编号 比如sda1First sector (2048-4194303, default 2048): 0    第一个删除的编号 默认从 2048开始Value out of range.First sector (2048-4194303, default 2048): Using default value 2048Last 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   extendedSelect (default p): pPartition 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 4194303Partition 2 of type Linux and of size 1022.6 MiB is setCommand (m for help): nPartition type:   p   primary (2 primary, 0 extended, 2 free)   e   extendedSelect (default p): pPartition 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 mkfsmkfs: /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/sdb1meta-data=/dev/sdb1              isize=256    agcount=4, agsize=131007 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=0        finobt=0data     =                       bsize=4096   blocks=524027, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=0log      =internal log           bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =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 -ThlFilesystem     Type      Size  Used Avail Use% Mounted on/dev/sda3      xfs        78G  3.1G   75G   4% /devtmpfs       devtmpfs  904M     0  904M   0% /devtmpfs          tmpfs     913M     0  913M   0% /dev/shmtmpfs          tmpfs     913M  8.6M  904M   1% /runtmpfs          tmpfs     913M     0  913M   0% /sys/fs/cgroup/dev/sda1      xfs       297M  107M  191M  36% /boottmpfs          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) mkpartPartition 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: 3221MBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags: Number  Start  End     Size    Type     File system  Flags 1      512B   2100MB  2100MB  primary
fdisk查看

[root@ha1 ~]# fdisk -l                                                    Disk /dev/sdb: 3221 MB, 3221225472 bytes, 6291456 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk 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/sdb1WARNING: 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/sdb2WARNING: 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 -lDisk /dev/mapper/myvg-mylv: 314 MB, 314572800 bytes, 614400 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes[root@ha1 /]# mkfs.ext4 /dev/mapper/myvg-mylvmke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks76912 inodes, 307200 blocks15360 blocks (5.00%) reserved for the super userFirst data block=1Maximum filesystem blocks=3394764838 block groups8192 blocks per group, 8192 fragments per group2024 inodes per groupSuperblock backups stored on blocks:         8193, 24577, 40961, 57345, 73729, 204801, 221185Allocating group tables: done                            Writing inode tables: done                            Creating journal (8192 blocks): doneWriting 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查看所有命令






原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买手机买全新结果买到翻新机怎么办 苹果手机激活锁忘了id账号怎么办 淘宝很多产品都需要3c怎么办 小米mix装在兜里还能解锁怎么办 痰咳不出来憋的嘴唇紫了怎么办 京东闪电退款后不给退货怎么办 我的中国银行卡在异地被冻结怎么办 qq密保号码换了验证不了怎么办 qq登陆需要密保手机验证怎么办 微信漂流瓶被投诉收不到回复怎么办 电视的屏幕出现三条黑线怎么办 付了定金的房子不想要了怎么办 顾客刚买了东西就退怎么办 飞机票买了但是没有报团怎么办 日本寄东西回来深圳海关扣了怎么办 xp框架安装模块后无限重启怎么办 手机百度云下载的文件不见了怎么办 百度云手机号换了文件不见了怎么办 好劵app提现密码忘了要怎么办 微信上买的衣服不给退货怎么办 在微信上买的衣服不给退货怎么办 贴贴纸的地方出现色差了怎么办 贴在玻璃上的贴纸撕掉后有胶怎么办 魅族手机部分时间上划失效怎么办 别人电脑上c盘文件无权访问怎么办 网络已连接但上不了网怎么办 asp复选框选中的有重复值怎么办 邮件在邮递中出现损坏怎么办呢? 爱彩彩票资金密码忘记了怎么办 注册彩票网站忘了资金密码怎么办 电车电瓶加水后电压变低怎么办 电动车电瓶四块电池坏了一块怎么办 把小孩的玩具修坏了怎么办 电动车插头太紧了插不到底怎么办 宜家沙发不能更换布套怎么办 苹果官网买的无线充坏了怎么办 苹果官网上买的耳机坏了怎么办 led灯开关关掉了闪烁是怎么办 我朋友借的网贷光给我打电话怎么办 电脑上的文件变成了图片查看怎么办 外卖店打印机纸卡住打不开了怎么办