分区不是必要的,分区是与系统盘分开,防止数据丢失。
磁盘使用流程:查看磁盘(fdisk -l)---分区---格式化(创建文件系统)----挂载(自动挂载)
分区表类型:msdos(一般是系统分区) 和 gpt(一般是数据分区)
Msdos(Microsoft Disk Operating System,):最多支持4个分区,单分区最大2T.
Gpt(GUID Partition Table,其含义为“全局唯一标识磁盘分区表”):没有分区数量限制,单分区最大18EB
因msdos只支持4个分区,所以若需多个分区,可以用扩展分区.主分区分完后,其他是扩展分区,在扩展分区里区分逻辑分区,由扩展分区管理.扩展分区只能有一个,负责管理逻辑分区,不能进行格式化.主分区能当引导分区用,逻辑分区不能,其他存储数据都一样.主分区和逻辑分区可以格式化.主分区不是必须的,一般会将硬盘所有容量给扩展分区.
Msdos分区表类型:分区表信息会写在磁盘头,容量有限,故最多只支持4个分区.而在扩展分区里会记录分区表,就可以建多个逻辑分区了.一般都是分一个主分区,其他全部空间给扩展分区,然后在里面分配逻辑分区
主分区和扩展分区编号是1-4,逻辑分区时5-over...
针对新的磁盘,创建完成保存退出后,会自动更新分区表信息,故旧磁盘需partx -a device_name (a --add )
查看磁盘:ll /dev/sd*
查看磁盘:fdisk -l
[root@lbg ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 4 16:30 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 4 16:30 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 4 16:30 /dev/sda2
brw-rw---- 1 root disk 8, 3 Oct 4 16:30 /dev/sda3
brw-rw---- 1 root disk 8, 16 Oct 4 16:30 /dev/sdb
[root@lbg udev]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 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: 0x000c5fa7
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 821247 409600 83 Linux
/dev/sda2 821248 1230847 204800 82 Linux swap / Solaris
/dev/sda3 1230848 41943039 20356096 83 Linux
介绍说明:Disk /dev/sda: 21.5 GB, 21474836480 bytes(bytes=B代表字节,bit=b代表位), 41943040 sectors(扇区)
heads:表示磁头数。 sectors:扇区 track:磁道。cylinders:柱面。
磁盘的大小=一个柱面大小*柱面的总数=磁头数量*每个磁道上的扇区数*一个扇区大小*柱面总数
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB).操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
磁盘正在使用(有挂载就表示正在使用)不能用不同的方式分区,需先卸载(umount).但用同一种分区方法时,当前设备是否在用不受影响.
查看文件系统磁盘使用情况: df -Th (-T type -h human-readable)
[root@lbg udev]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 20G 3.3G 17G 17% /
devtmpfs devtmpfs 478M 0 478M 0% /dev
tmpfs tmpfs 493M 0 493M 0% /dev/shm
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt/rhel
/dev/sda1 xfs 397M 146M 251M 37% /boot
磁盘分区步骤:
[root@lbg ~]# fdisk -l --显示已格式化的磁盘
[root@lbg ~]# ll /dev/sd* ---显示所有磁盘
通过上面两个命令的对比可查看没有分区的磁盘。
对sdb分区: fdisk /dev/sdb
其中:d(删除分区) n(添加分区) p(打印现有分区表) q(退出不保存) w(保存并退出)
m 帮助(menu)
n 创建分区(new partition)
p 分区表信息(partition table)
q quit
w write
d-> delete
l--> 列出已知分区类型
Command (m for help): n --添加分区
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
其中 extended:是扩展分区,primary 是主分区.
其中给定分区大小时:+加单位就是容量,不加单位就是用柱面算.
Select (default p): p
Partition number (1-4, default 1): 1
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): +1G
Partition 1 of type Linux and of size 1 GiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2097152 4194303 1048576 83 Linux
Select (default p): e ----设置扩展分区,一般将剩下的所有容量都给扩展分区,故一直直接回车就行
Partition number (2-4, default 2):
First sector (2099200-4194303, default 2099200):
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-4194303, default 4194303):
Using default value 4194303
Partition 2 of type Extended and of size 1023 MiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4194303 1047552 5 Extended
Command (m for help): n ----再添加新的分区--逻辑分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5) -----有了扩展分区后,再分区就有逻辑分区
Adding logical partition 5
First sector (2101248-4194303, default 2101248):
Last sector, +sectors or +size{K,M,G} (2101248-4194303, default 4194303): +500M
Partition 5 of type Linux and of size 500 MiB is set
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4194303 1047552 5 Extended
/dev/sdb5 2101248 3125247 512000 83 Linux
刷新分区表:partx -a /dev/sdb
查看分区命令 fdisk -l /dev/sdb(从内存看) 与 fdisk /dev/sdb(从磁盘里看) p查看的结果不同的话,用 partx -a /dev/sdb (刷新分区表a--add).不一致的原因可能是旧磁盘以前有分区表.
格式化步骤:
mkfs命令(make file system)格式化就是创建文件系统。(文件系统类型:6里ext4 ,7里xfs )
一个分区一个分区地格式化:
mkfs.ext4 /dev/sdb1 或者 mkfs -t ext4 /dev/sdb1 --- (t--type)
创建文件系统相当于在物理分区制作了一层内容,用来记录文件的存放位置等等这些信息。你会发现创建了文件系统的磁盘你还没用空间就少了十几M,,就是这个原因.
判断格式化是否成功:
格式化后就可查看该块设备信息:blkid, 有了该设备就说明格式化成功.没格式化的不在其中显示.(blkid指block的id)
[root@lbg ~]# blkid
/dev/sda1: UUID="83d6abb5-1bda-497d-a33e-f11e601a6ff0" TYPE="xfs"
/dev/sda2: UUID="957ffd57-d1fc-40d5-87c2-5f57f15d6a11" TYPE="swap"
/dev/sda3: UUID="37765c8e-208a-4358-b643-7beeca05683c" TYPE="xfs"
/dev/sdb1: UUID="3c914c37-dc34-4fcf-932d-f4ea7753d2dc" TYPE="xfs"
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
挂载:
创建空目录然后挂载mount /dev/sdb1 /mnt/cs (手动挂载临时生效,重启失效.)
再红帽系统里有lost+found 文件夹说明挂载成功.或者直接mount查看是否挂载成功。
设置开机自动挂载:
挂载的本质是挂载设备上的文件系统,将挂载命令写到下面两种配置文件都可:
[root@lbg rhel]# vim /etc/rc.d/rc.local
[root@lbg rhel]# vim /etc/fstab
/etc/rc.d/rc.local是操作系统启动最后一个读取的脚本文件,操作系统基本已经启动了,命令写在这里面,可以开机自动挂载.开机挂载,能挂,但是不太合适,可以在这里挂载镜像,挂载磁盘,可能启动软件需要的服务需要用到磁盘中的东西,这时候就不合适了.
/etc/fstab 中内容大致如下:
UUID=37765c8e-208a-4358-b643-7beeca05683c / xfs defaults 0 0
UUID=83d6abb5-1bda-497d-a33e-f11e601a6ff0 /boot xfs defaults 0 0
UUID=957ffd57-d1fc-40d5-87c2-5f57f15d6a11 swap swap defaults 0 0
/dev/sr0 /mnt/rhel iso9660 defaults 0 0
依次是:设备,挂载点,文件系统类型,文件系统挂载属性(默认defaults),是否备份(写0就行),是否进行文件系统检查(写0,不检查就行,否则开机时间过长)0 ---不检查 1 ---优先度高的检查 2----优先度低的检查
其中 UUid的值可以通过blkid查看.记着后面三个 defaults 0 0 . /etc/fstab 里面挂载点有/boot,故开机运行时很早,专门用来做自动挂载.而/etc/rc.d/rc.local可以写很多其他命令,比如启动服务.挂载镜像.
检测/etc/fstab修改是否正确:
注意:vim /etc/fstab.--系统重启生效.若写错了,则系统无法正常开机,必须测,若写错了,则操作系统只能看,root用户也无法改,检测时 先 umount /dev/sdb1再mount -a --检测/etc/fatab是否正确.(mount -a 是自动挂载 /etc/fstab 里面的东西,若无任何报错输出则表示/etc/fstab修改无问题。)
修复文件系统:
#fsck -a /dev/sdb1
#fsck -y /dev/sdb1