Linux磁盘分区

1. Linux磁盘分区基本概念

Linux磁盘分区
Linux的磁盘分区至少要有一个根分区(挂载点 / )和一个交换分区(SWAP)。

硬盘设备是由大量的扇区组成的,每个扇区的容量为512字节。其中第一个扇区最重要,它里面保存着主引导记录与分区表信息。就第一个扇区来讲,主引导记录需要占用446字节,分区表为64字节,结束符占用2字节;其中分区表中每记录一个分区信息就需要16字节,这样一来最多只有4个分区信息可以写到第一个扇区中,这4个分区就是4个主分区。

现在,问题来了 —— 第一个扇区最多只能创建出4个分区?于是为了解决分区个数不够的问题,可以将第一个扇区的分区表中16字节(原本要写入主分区信息)的空间(称之为扩展分区)拿出来指向另外一个分区。也就是说,扩展分区其实并不是一个真正的分区,而更像是一个占用16字节分区表空间的指针 —— 一个指向另外一个分区的指针。这样一来,用户一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求。

图示如下:

2. 设备名

  • 编码规则

/dev/xxyn
其中
xx:取值 sd 表示串口硬盘,比如SATA,SCSI,USB,SAN等串口硬盘。
xx:取值 hd 表示并口硬盘,比如IDE硬盘。
xx:取值 vd 表示KVM虚拟硬盘。
y:表示序号,取值a,b,c,d,··· 表示第几块硬盘。
n:表示分区编号,取值1,2,3,4,5,6,··· 而编号1~4表示主分区或者扩展分区,编号5以后代表逻辑分区。

  • 例子
/dev/sda2 第一块串口硬盘的第二个主分区
/dev/sdb1 第二块串口硬盘的第一个主分区
/dev/sdb6 第二块串口硬盘的第二个逻辑分区
/dev/sda5 第一块串口硬盘的第一个逻辑分区

3. 磁盘分区

3.1 fdisk /dev/sdb
n 新建分区(描述分区大小:+10G 别忘了“ + ”号)
p 查看分区信息
d 删除分区
m 查看帮助
w 保存并退出
q 退出不保存
其他命令:
[root@node2 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom  
3.2 partx -a /dev/sdb

同步磁盘分区。如果分区可以读写必须使用该命令,否则分区表系统无法识别。当然此时如果重启系统也可以完成磁盘分区的同步。

其他命令:
partprobe 通知内核重新读取硬盘分区表信息
[root@node2 ~]# cat /proc/partitions 
major minor  #blocks  name

  11        0    1048575 sr0
   8        0   20971520 sda
   8        1    1048576 sda1
   8        2   19921920 sda2
 253        0   17821696 dm-0
 253        1    2097152 dm-1 
 注:上述命令可以查看同步结果。可以忽略如下信息:
 BLKPG:Device or resource busy
3.3 mkfs.ext4 /dev/sdb1

格式化磁盘为ext4文件格式。

也可以
mkfs -t ext4 /dev/sdb1
3.4 mkdir /mnt/data

创建空目录作为挂载点。

3.5 mount /dev/sdb1 /mnt/data
卸载挂载点
umount /dev/sdb1

挂载文件的配置
/etc/fstab   可以查找帮助 man 5 fstab
Linux可能存在盘符漂移现象,需在/etc/fstab配置文件中写入UUID。

[root@node2 ~]# blkid  查看磁盘分区的UUID
/dev/sda1: UUID="da7cabb7-e947-4ab0-8152-a3b935975e4e" TYPE="xfs" 
/dev/sda2: UUID="H7342u-JN8E-tvoK-uUJD-PBGC-SXwG-gzuVre" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="c1a4bc54-4af1-4a37-8b70-9e1d67907009" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="3c60eebf-5cd6-4e2d-aedd-c71cb5fb4e5e" TYPE="swap"
3.6 df -h

查看挂载分区信息

3.7 番外篇
可以使用如下命令以MB显示内存和SWAP分区使用情况
[root@node2 ~]# free -mh
              total        used        free      shared  buff/cache   available
Mem:           750M         94M        538M        6.1M        117M        524M
Swap:          2.0G          0B        2.0G

4. 分区参考

300G硬盘为例

分区/挂载点大小
/boot200M
swap16G,物理内存小于8G,swap可为物理内存的2倍;物理内存大于8G时,swap分区一般取8G
/80G
/data剩余所有空间

5. 常见的文件系统

  • Ext3
    一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。

  • Ext4
    Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。

  • XFS
    一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值