linux磁盘管理20105082502


什么是硬盘:

            wKioL1XcRJqB1c8-AACyeRE8VkA800.jpg

wKiom1XcakPAfKsPAAFdmtIiJVs910.jpg

        硬盘是由一个密封的真空盒子。真空盒子内有“盘片”、“机械臂”“磁头”“马达”组成。---->如图所示


        磁头是在机械臂末梢位置,悬浮在盘面上方几微米处。硬盘式通过磁头接触在高速旋转的盘面上进行读写数据。磁头的默认位置在盘面的最边缘部位。

        现如今的硬盘几乎都是双面的,即,单盘片的硬盘有2个磁头,双盘片的硬盘有4个磁头。并且机械臂的分支都是固定的,同一时刻位于不同盘面的磁头

    处于同一垂直位置。


常见的硬盘接口及接口速率:

并行接口

IDE接口    理论接口速率133MB/s

SCSI接口    理论接口速率640MB/s

串行接口

SATA接口    理论接口速率6Gbps/s

SAS接口    理论接口速率6Gbps/s

USB接口    理论接口速率480MB/s



磁盘管理的相关术语:

        磁头在高速旋转的盘面所画出的n个同心圆被称为:磁道    (track)

        不同盘面上相同大小的同心圆组成:柱面    (Cylinder)

        由圆心出发的直线将磁道切割成n段弧线,每一段称为一个:扇区 (Sector) ---------磁盘的第一个磁道的第一个扇区为MBR(Master Boot Record),大小为512Byte

 MBR的前446Bytes为boot loader,接下来的64Bytes为磁盘分区列表信息,每个分区占16Byte。剩下的2Bytes为MBR有效标识位


硬盘在/dev目录下的文件名:

/dev/sda ~ /dev/sdz  由 /dev/sd开头,[a-z]表示硬盘的序号,a表示第一块硬盘

/dev/sda1 表示第一块磁盘的第一个分区,以此类推。

    因为每个分区信息占用16Bytes,MBR中分区信息总共占有16Bytes,所以每个硬盘最多可划分4个主分区,若想划分更多的分区,必须有一个条目信息指定当前硬盘中的其他位置存贮分区信息,这个条目便是扩展分区条目。

    因此可将硬盘划分为3个主分区一个扩展分区,在扩展分区中可划分n个逻辑分区。没快硬盘中只能存在一个扩展分区。

    所以,分区编号中,1-4为主分区和扩展分区。5以上的数字表示逻辑分区。

注意:centos5以及以前版本,并行接口的硬盘设备在/dev/下的文件名为/dev/hd开头,在CentOS6以及以后的版本都为/dev/sd开头。


             


什么是文件系统:

        要实现在一个庞大的存储空间中快速定位数据的位置,那么需要有一种将磁盘划分n个小单元,并且将n个小单元分成元数据区和数据区的机制。元数据区域存放数据的名称,存放位置等信息。而实现这种机制的软件便是文件系统。




查看当前系统所支持的文件系统:(CentOS-7)

[root@localhost ~]# cat /proc/filesystems  ##proc/filesystems:系统已经加载的文件系统类型
nodev	sysfs
nodev	rootfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	configfs
nodev	devpts
nodev	ramfs
nodev	hugetlbfs
nodev	autofs
nodev	pstore
nodev	mqueue
nodev	selinuxfs
	xfs
	btrfs
[root@localhost ~]#


Linux系统所支持的文件系统格式众多。常见的文件系统格式有:    ext2, ext3, ext4, xfs, btrfs,swap

CentOS7相对CentOS6新增了btrfs格式的文件系统,其优点是其容量的可扩展性。这也是CentOS7逐渐抛弃了LVM的原因。


分区格式化工具: (fdisk  )

[root@localhost ~]# fdisk -l   ##显示当前系统所有磁盘的所有分区

Disk /dev/sda: 236.2 GB, 236223201280 bytes, 461373440 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: 0x000977ad

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      411647      204800   83  Linux
/dev/sda2          411648    10897407     5242880   83  Linux
/dev/sda3        10897408    21383167     5242880   83  Linux
/dev/sda4        21383168   461373439   219995136    5  Extended
/dev/sda5        21385216    25579519     2097152   82  Linux swap / Solaris
/dev/sda6        25581568    36067327     5242880   83  Linux
/dev/sda7        36069376    38166527     1048576   83  Linux



[root@localhost ~]# fdisk /dev/sda    ##管理第一块磁盘
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):       ##可在此处输入命令

    此命令为一个交互式命令行,命令常用选项有:

  m    或 help 表示获取帮助信息

  n     创建新分区

  d     删除分区

  l      列出支持的分区类型

  p     显示当前磁盘上的分区

  t      修改分区类型,使用分区编号

  w     保存退出

           q      不做更改退出交互会话

例如,当前我的磁盘有1个磁盘,sda上面有7个分区,新建分区具体步骤如下:

[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n     
All primary partitions are in use
Adding logical partition 8
First sector (38168576-461373439, default 38168576): ##指定分区的起始位置,默认就行
Using default value 38168576
Last sector, +sectors or +size{K,M,G} (38168576-461373439, default 461373439): +1G    ##指定分区的结束位置,可以是扇区编号,“+1G” 代表明确指定划分1G空间给当前分区
Partition 8 of type Linux and of size 1 GiB is set

Command (m for help): w    ##保存当前修改并退出交互会话


至此新分区已创建成功,但内核至此还未能识别出新分区,需要使用命令:

[root@localhost ~]# partx -a /dev/sda    ##无需关注命令报错,此命令需要重复执行两次
或
[root@localhost ~]# kpartx -a /dev/sda    ##无需关注命令报错,此命令需要重复执行两次CentOS 5: 使用
[root@localhost ~]# partprobe /dev/sda

[root@localhost ~]# cat /proc/partitions   ##查看当前系统所识别出的分区
major minor  #blocks  name

   8        0  230686720 sda
   8        1     204800 sda1
   8        2    5242880 sda2
   8        3    5242880 sda3
   8        4          1 sda4
   8        5    2097152 sda5
   8        6    5242880 sda6
   8        7    1048576 sda7
   8        8    1048576 sda8


至此新分区已创建成功,下一步则是对新分区进行格式化:创建文件系统 (mkfs)

mkfs的常用选项:

-t <Type> 指明文件系统类型:ext2  ext3  ext4  ..

-L ’Label Name‘  为该文件系统创建卷标,方便以后的调用

 mkfs [options] [-t <type>] [fs-options] <device> [<size>]  ## 命令格式
[root@localhost ~]# mkfs -t ext3 /dev/sda8     ##创建ext3格式的文件系统
 mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done  ##创建成功
[root@localhost ~]# blkid /dev/sda8    ##blkid查看文件系统信息
/dev/sda8: UUID="ecdac9ea-f9d5-4950-aee3-122e8845eb48" TYPE="ext2"


至此,新分区创建以及格式化已完成。若需访问该文件系统,需将该分区挂在至根目录下的某个节点进行访问。


磁盘管理的常用命令汇总:


我们可以在命令行模式下输入mkfs双击tab键,如下:

[root@localhost ~]# mkfs
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs
[root@localhost ~]# mkfs


诸如mkfs.ext3,实际上,我们使用mkfs -t ext3 DEVICE的时候就相当于调用了mkfs.ext3这条命令,因此,此处显示的各条命令的用法和mkfs一样。

tune2fs  重新设定“ext系列”文件系统的可调整参数
    -l查看指定文件系统的超级快信息
    -L修改卷标
    -m修改预留给管理的百分比
    -j将ext2升级为ext3
    -O文件系统属性的启用或禁用(^)
    -o调整文件系统的默认挂载选项
    -U UUID  修改UUID
    
 例如:
 [root@localhost ~]# mkfs.ext2 /dev/sda8  ##将当前分区格式化为ext2格式
 [root@localhost ~]# blkid /dev/sda8    ##显示当前分区信息为ext2格式
/dev/sda8: UUID="230890b5-7c14-44c0-a675-4f4c4225a1d1" TYPE="ext2"

[root@localhost ~]# tune2fs -j -L 'My Data' -m 3 /dev/sda8  ##
tune2fs 1.42.9 (28-Dec-2013)
Setting reserved blocks percentage to 3% (7864 blocks)
Creating journal inode: done

[root@localhost ~]# blkid /dev/sda8  ##由以下信息可见,修改的属性已生效,类型改为ext3,新增了卷标“My Data”
/dev/sda8: LABEL="My Data" UUID="230890b5-7c14-44c0-a675-4f4c4225a1d1" SEC_TYPE="ext2" TYPE="ext3"





文件系统修复命令:


fsck    ,常用选项:

-a自动修复错误

-r交互式修复错误

        e2fs    ext系列文件系统专用的检测修复工具

-y自动回答为yes

-f强制修复

注意::-t 指定的文件系统类型必须与分区上已有的文件类型相同

例如:

[root@localhost ~]# fsck -t ext3 -a /dev/sda8 ## 若需要强制修复则使用-f选项
fsck from util-linux 2.23.2
My_Data: clean, 11/65536 files, 12644/262144 blocks





待续~~~~~~~

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章