磁盘简介node
计算机老是须要记录与读取数据的,而这些数据固然不可能每次都由用户通过键盘来打字。因此就须要有存储设备了。计算机系统上面的存储设备包括硬盘、软盘、CD、DVD、磁带机、U盘等,都是能够用来存储数据的。最多见的也就是硬盘了,下面咱们就来简单介绍下硬盘吧。
1、磁盘的物里组成
盘片:主要是用来记录数据的部分。
扇区(Sector)为最小的物理存储单位,第个扇区为512bytes;
将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区(Parition)的最小单位;
第一个扇区最重要,里面有引导记录(Masterbootrecord,MBR)及分区表(partition table),其中 MBR占446bytes,而分区表占有64bytes。
机械手臂与机械手臂上的磁头:可读写盘片上的数据。
主轴马达:能够转动盘片,让机械手臂的磁头在盘片上读写数据。
2、磁盘的分区
主分区与扩展分区最多能够有4个(分区表64字节,每分区占16字节);
扩展分区最多只能有一个;
逻辑分区是由扩展分区持续分出来的分区;
可以被格式化后做为数据访问的分区为主要分区与逻辑分区,扩展分区没法格式化;
逻辑分区的数量以操做系统而不一样,在Linux系统中,IDE硬盘最多有59个逻辑分区(5-63),SATA硬盘则有11个逻辑分区(5-15);
3、各接口的磁盘在Linux中的文件名分别为
/dev/sd[a-p][1-15]:为SCSI,SATA,USB,Flash等接口的磁盘文件名;
/dev/hd[a-d][1-63]:为IDE接口的磁盘文件名;
4、文件系统分类
Windows :
NTFS
、
FAT32
Linux:
ext二、
ext3
、
ext4
、
xfs
、
reiserfs
、
nfs
、
iso9660
、
jfs
、
brtfs
小结:经过以上内容,咱们简单了解了磁盘的组成、分区、接口的磁盘命名及文件系统的分类。下面咱们来具体看下磁盘分区、格式化及磁盘挂载所使用到的命令。咱们分别介绍一下:
5、磁盘分区 fdisk
格式:fdisk [options] <设备名称>
【参数】
-l:输出后面接的设备全部的分区内容。若仅有fdisk -l 时,则系统将会把整个系统内核可以找到的设备的分区均列出来。
举例 :查看第二块磁盘(sdb)的分区状况,咱们能够经过如下命令来查看:
# [root@lab02 ~]# fdisk -l /dev/sdb

若是想要查看全部硬盘分区,便可使用如下命令,不加设备名便可,咱们就能够看到全部挂载的磁盘:
# [root@lab02 ~]# fdisk -l

下面咱们来看下fdisk这个命令是如何来进行分区的。刚刚已介绍过格式了
,咱们先来执行一下看看吧。
[root@lab02 ~]# fdisk /dev/sdb
使用fdisk这个程序是彻底不须要咱们记这些命令的,如上所示,咱们只须要按下m就可以看到全部的操做。上面标记为蓝色的是几个比较重要的操做。其中比较不同的是q与w这两个,无论你进行了什么操做,只要离开fdisk时按下"q",那么全部的操做都不会生效!相反,按下“w”就是操做生效的意思。因此,能够随便玩玩fdisk,只要离开的时候按下q就能够了。咱们先来看看分区表的信息吧。
使用“p”能够列出目前这块磁盘的分区表信息,这个信息的上半部分显示总体磁盘的状态。下半部分的分区表信息主要列出第个分区的信息项目。每一个项目的意义为:
Device:设备文件名,依据不一样的磁盘接口/分区位置而变;
Boot:表示是否为开机引导模块,一般Windows系统的C盘须要这模块;
Start,End:表示这个分区在哪一个柱面号码之间,能够决定此分区的大小;
Blocks:就是以1K为单位的容量;
ID,System:表明这个分区的文件系统类型。
下面咱们来新建一个分区吧,看看效果吧:

分区建立好了,咱们输入“w”保存便可。而后经过fdisk -l /dev/sdb查看下吧。分区建立好了,内核是否正常加载了咱们刚刚建立的分区呢?咱们能够经过查看下面的文件来获得答案。
[root@lab02 ~]#cat /proc/partitions
major minor #blocks name
8 16 125829120 sdb
8 17 5253223 sdb1
8 18 5253255 sdb2 <-- 此处代表内核已加载了新建立的分区;
8 0 125829120 sda
8 1 512000 sda1
8 2 125316096 sda2
253 0 52428800 dm-0
253 1 1015808 dm-1
253 2 71868416 dm-2
若是在此文件中,没有被内核识别的话
,让内核从新加载分区信息
,咱们能够经过如下命令:
RHEL5让内核从新读取硬盘分区表:
partprobe [DEVICE]
RHEL6让内核从新读取硬盘分区表:
partx -a [PARTITION] DEVICE
到此,一个分区,咱们就已经建立好了!比较容易吧,下面咱们在来建立一个扩展分区,而后在建一个逻辑分区看看具体过程吧。vim


扩展
分区能及逻辑分区都建立好了,咱们输入“w”保存便可。删除分区就更容易了,在这里就不作介绍了。建立分区部份内容就介绍到这里了。
分区建立好了,下面咱们就要对建立好的分区进行格式化,要否则新建的分区是不能使用的。咱们来看看格式化的命令吧!
6、磁盘格式化 mkfs mke2fs
分区完毕后天然就是要进行文件系统的格式化。格式化的命令很是简单,那就是mkfs(即 make file system之意)这个命令。这个命令其它是个综合的命令,它会去调用正确的文件系统格式化工具软件。
格式:mkfs [-t 文件系统格式] 设备文件
【参数】
-t:能够接文件系统格式,例如:ext二、ext三、ext四、vfat等(系统支持才会生效)
例 :将刚刚建立的/dev/sdb5逻辑分区格式化为ext4文件系统
[root@lab02 ~]#
mkfs -t ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
328656 inodes, 1313305 blocks
65665 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1346371584
41 block groups
32768 blocks per group, 32768 fragments per group
8016 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
看看还有那些格式化命令:
[root@lab02 ~]# mkfs
mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev
这些都是格式化的命令哦,在往下看看,你就会更清楚了!
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
如今是否是更清楚了啊,我相信你会懂的哦!在格式化完成我,咱们会发现结果里面含有很是多的信息,因为咱们没有详细指定文件系统的具体选项,所以mkfs命令格式化会使用默认值来进行格式化。其中比较重要的部分为:文件系统的卷标、block的大小、以及inode的数量。若是要指定这些内容就得要使用mke2fs这个命令喽!
格式:mke2fs [-t {ext2|ext3|ext4}] [-b block 大小] [-L 卷标] 设备名
-b {1024|2048|4096}:块大小
块大小取决CPU对内存页框大小的支持,x86系统默认页框大小为4K;
-L label: 设定卷标
-m #: 预留给管理使用的块所占据整体空间的比例;
-r #: 预留给管理使用的块的个数;
-E: 设定文件系统的扩展属性;
例:将/dev/sdb5 分区格式化,block设置为2048,卷标设置为my_lgh;
# mke2fs -t ext4 -b 2048 -L "my_lgh" /dev/sdb5
经过如下命令查看格式化后是否按需求修改了配置:
[root@lab02 /]#blkid /dev/sdb5
/dev/sdb5: UUID="dc89a957-0aa5-454b-856b-782aab42f04a" TYPE="ext4"LABEL="my_lgh"
[root@lab02 /]#tune2fs -l /dev/sdb5
First block: 0
Block size: 2048
Fragment size: 2048
Reserved GDT blocks: 512
Blocks per group: 16384
下面咱们在来看一个和mke2fs相关的命令,tune2fs主要用来修改卷标、
整预留给管理使用的块所占据整体空间的比例等内容:
格式:
tune2fs [参数] 设备名
-l: 显示文件系统超级块信息;
-L label:从新设定卷标;
-m #: 调整预留给管理使用的块所占据整体空间的比例;
-r #: 调整预留给管理使用的块个数;
-o:设定挂载默认选项
-O: 设定文件系统默认特性
-E: 调整文件系统的扩展属性
例:
调整预留给管理使用的块所占据整体空间的比例调至3%
[root@lab02 /]# tune2fs -m 3 /dev/sdb5
e2label: 显示或设定卷标;
格式:e2label DEVICE [Volume_label]
# e2label /dev/sdb5 查看卷标
# e2label /dev/sdb5 my_label 修改卷标
blkid DEVICE: 显示设备的UUID、文件系统类型及卷标;
7、磁盘挂载与卸载 mount umount
挂载前须要确认如下几件事情:
单一文件系统不该该被重复挂载在不一样的挂载点中;
单一目录不该该重复挂载多个文件系统;
做为挂载点的目录理论上应该都是空目录才对;
mount 命令:
格式:mount -t fstype [options] DEVICE MOUNT_POINT
DEVICE:
设备文件:/dev/sda1, /dev/hdb2
卷标:LABEL=“label”
UUID: UUID="uuid"
MOUNT_POINT:要挂载到那个目录
选项:
-o: 用于指定挂载选项,经常使用的挂载选项
ro: 只读挂载;
rw: 读写,默认即为读写;
noatime: 关闭 更新 访问时间;
auto: 是否可以由“mount -a”挂载;
defaults:至关于rw, suid, dev, exec, auto, nouser, async, and relatime
sync: 同步写入
async:异步写入
dev:
remount: 从新挂载
loop: 本地回环设备;
-n: 挂载文件系统时,不更新/etc/mtab文件;
-r: 至关于“-o ro”, 只读挂载;
举个例子吧,让咱们来看看挂载命令的具体使用,将咱们刚建立的/dev/sdb5逻辑分区挂载到/mydata目录下。
[root@lab02 /]#mount /dev/sdb5 /mydata/
[root@lab02 /]# ll /mydata/
total 16
drwx------. 2 root root 16384 Dec 23 18:10 lost+found
/mydata 目录必须事先存在,挂载成功后目录中会生成一个lost+found目录。挂载好后,咱们就能够正常使用新建的分区了。挂载说完了,咱们在来看看怎么
卸载吧。
umount 命令:
格式:umount DEVICE
umount MOUNT_POINT
卸载比较简单,咱们直接举个例看下就行了。将刚才挂载到/mydata目录在
卸载掉。
[root@lab02 /]#umount /mydata/
[root@lab02 /]# cd /mydata/
[root@lab02 mydata]# ls
8、设置开机挂载
设置开机挂载,须要修改/etc/fstab文件,这个文件内容共有六个字段,这六个字段很是重要,各字段的含义以下:
第一列:磁盘设备文件名或该设备的Label
第二列:挂载点
第三列:磁盘分区的文件系统
第四列:文件系统参数
第五列:是否被dump命令做用
第六列:是否以fsck检查扇区
[root@lab02 /]#
vim /etc/fstab 在此文件后加如如下一行内容,便可实现开机挂载。
/dev/sdb5 /mydata ext4 defaults 0 0
总结:Linux 磁盘管理及基础命令使用就先介绍到这里了,本文主要介绍了磁盘的物理组成、磁盘的分区、文件系统的分类,磁盘分区命令fdisk、
mke2fs
、磁盘格式化命令mkfs、磁盘挂载命令mount、磁盘
卸载命令umout以及
开机自动挂载
的基本使用。但愿对你们有所帮助哦。