一、硬盘的数据接口分类和区别
硬盘按数据接口不同,大致分为ATA(IDE)、SATA、SCSI以及SAS。类。
磁盘的主要技术参数是容量和转速。
硬盘管理:MBR:
Master boot record 主引导记录 win7 win8都是用的。
MBR硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、磁盘分区表DPT(Disk Partition table)和分区有效标志(55AA),55AA是固定的值。
一个扇区:512字节。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,16*4=64,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。
55AA改变后就不能使用了主分区,扩展分区,,扩展分区不能直接存放数据。需要在扩展分区上创建逻辑分区magic number:·结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,称为“魔数”(magic number)。如果该标志错误系统就不能启动。
二、格式化磁盘和挂载
-
[root@localhost ~]# fdisk -l #查看可用存储设备和大小
-
[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
Command action
a toggle a bootable flag #设置启动的扇区
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition #删除一个分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu #fdisk帮助信息
n add a new partition #增加一个分区
o create a new empty DOS partition table
p print the partition table #打印分区
q quit without saving changes #退出分区,不保存
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit #保存并退出
x extra functionality (experts only)
Command (m for help): n #增加一个主分区
Partition type:
p primary (3 primary, 0 extended, 1 free) #已有3个主区,只有一个free
e extended
Select (default e): p #主分区
Selected partition 4 #主分区号
First sector (49891328-83886079, default 49891328): #增加分区的开始扇面,选择默认
Using default value 49891328
Last sector, +sectors or +size{K,M,G} (49891328-83886079, default 83886079): +3G #新建分区的大小3G,默认的情况下使用全部可用空间
Partition 4 of type Linux and of size 3 GiB is set
Command (m for help): p #打印下分区情况
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x0005926e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1640447 819200 83 Linux
/dev/sda2 1640448 47794175 23076864 8e Linux LVM
/dev/sda3 47794176 49891327 1048576 83 Linux
/dev/sda4 49891328 56182783 3145728 83 Linux
Command (m for help): w #保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks. #提示使用partprobe(8) or kpartx(8) 重新读取分区
-
[root@localhost ~]# ll /dev/sd* #查看,但为发现新建分区sda4
brw-rw---- 1 root disk 8, 0 Apr 20 12:43 /dev/sda
brw-rw---- 1 root disk 8, 1 Apr 20 12:43 /dev/sda1
brw-rw---- 1 root disk 8, 2 Apr 20 12:43 /dev/sda2
brw-rw---- 1 root disk 8, 3 Apr 20 12:43 /dev/sda3
brw-rw---- 1 root disk 8, 16 Apr 20 12:36 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr 20 12:36 /dev/sdb1
[root@localhost ~]# partprobe /dev/sda #重新扫描sda 获取分区表
[root@localhost ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Apr 20 12:51 /dev/sda
brw-rw---- 1 root disk 8, 1 Apr 20 12:51 /dev/sda1
brw-rw---- 1 root disk 8, 2 Apr 20 12:51 /dev/sda2
brw-rw---- 1 root disk 8, 3 Apr 20 12:51 /dev/sda3
brw-rw---- 1 root disk 8, 4 Apr 20 12:51 /dev/sda4
brw-rw---- 1 root disk 8, 16 Apr 20 12:36 /dev/sdb
brw-rw---- 1 root disk 8, 17 Apr 20 12:36 /dev/sdb1
[root@localhost ~]# mkfs.xfs /dev/sda4 #格式化/dev/sda4
meta-data=/dev/sda4 isize=256 agcount=4, agsize=196608 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=786432, 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@localhost ~]# mkdir /sda4 #创建挂载点 /sda4
[root@localhost ~]# mount /dev/sda4 /sda4/ #挂载分区
[root@localhost ~]# df -h #检查分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 20G 3.7G 17G 19% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 913M 84K 913M 1% /dev/shm
tmpfs 913M 9.0M 904M 1% /run
tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sdb1 2.0G 33M 2.0G 2% /sdb1
/dev/sda3 1014M 33M 982M 4% /163
/dev/sr0 3.8G 3.8G 0 100% /mnt
/dev/sda1 797M 165M 633M 21% /boot
tmpfs 183M 16K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
/dev/sda4 3.0G 33M 3.0G 2% /sda4
[root@localhost ~]#
二、挂载fstab
我们可以通过mout命令挂载分区,也可以把新建分区写入fstab文件中随机启动挂载,我们先介绍下fstab文件
-
[root@localhost ~]# cat /etc/fstab
-
-
#
-
# /etc/fstab
-
# Created by anaconda on Thu Mar 31 22:52:23 2016
-
#
-
# 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/rhel-root / xfs defaults 0 0
-
UUID=00b44465-f1aa-45ae-9bbb-fc85cae0f07e /boot xfs defaults 0 0
-
/dev/mapper/rhel-swap swap swap defaults 0 0
-
/dev/sda3 /163 xfs defaults 0 0
-
/dev/sr0 /mnt iso9660 defaults 0 0
-
UUID="eef3fd7d-f7d8-4fcd-852e-360da2c69c64" /sdb1 xfs defaults 0 0
-
-
-
/dev/mapper/rhel-root / xfs defaults 0 0
挂载分区 挂载点 文件系统类型 挂载选项 是否备份 是否检测
使用UUID实现开机自动挂载。UUID 是什么呢,它是一个标识系统中存储设备的字符串,主要目的是帮助使用者唯一的确定系统中的所有存储设备,全球唯一,不管他是什么类型,它可以标识DVD设备驱动器,USB存储设备以及系统中的硬盘等,它是真正唯一的标识符。
通过blkid命令获取新增分区的UUID ,并编辑fstab文件,下图红色标识的地方
-
[root@localhost ~]# blkid |grep sda4
-
/dev/sda4: UUID="5777db63-e987-4b59-b157-3b0b94090bc1" TYPE="xfs"
-
[root@localhost ~]# vi /etc/fstab
# /etc/fstab
# Created by anaconda on Thu Mar 31 22:52:23 2016
#
# 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/rhel-root / xfs defaults 0 0
UUID=00b44465-f1aa-45ae-9bbb-fc85cae0f07e /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sda3 /163 xfs defaults 0 0
/dev/sr0 /mnt iso9660 defaults 0 0
UUID="eef3fd7d-f7d8-4fcd-852e-360da2c69c64" /sdb1 xfs defaults 0 0
UUID="5777db63-e987-4b59-b157-3b0b94090bc1" /sda4 xfs defaults 0 0
如何验证挂载是否成功呢,不必重启服务器,我们只需要mount -a 就可以验证是否正确, -a all Mount all filesystems (of the given types) mentioned in fstab。通过df 命令查看到新挂载所有分区,即正确。
-
[root@localhost ~]# mount -a
-
[root@localhost ~]# df -h
-
Filesystem Size Used Avail Use% Mounted on
-
/dev/mapper/rhel-root 20G 3.7G 17G 19% /
-
devtmpfs 898M 0 898M 0% /dev
-
tmpfs 913M 84K 913M 1% /dev/shm
-
tmpfs 913M 9.0M 904M 1% /run
-
tmpfs 913M 0 913M 0% /sys/fs/cgroup
-
/dev/sdb1 2.0G 33M 2.0G 2% /sdb1
-
/dev/sda3 1014M 33M 982M 4% /163
-
/dev/sr0 3.8G 3.8G 0 100% /mnt
-
/dev/sda1 797M 165M 633M 21% /boot
-
tmpfs 183M 16K 183M 1% /run/user/42
-
tmpfs 183M 0 183M 0% /run/user/0
-
/dev/sda4 3.0G 33M 3.0G 2% /sda4
-
[root@localhost ~]#
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27039319/viewspace-2084652/
,如需转载,请注明出处,否则将追究法律责任。