Linux磁盘管理

目录

一、磁盘结构

1.物理结构

2.数据结构

​3.硬盘存储容量

4.硬盘接口类型

二、MBR与磁盘分区

1.为什么分区

2.硬盘分区

3.MBR分区

三、文件系统

1.文件系统的作用

2.常用文件系统

四、分区工具 

1.新建主分区

2.新建扩展分区和逻辑分区

3.建立文件系统

4.建立特殊文件系统swap

5.查看块设备属性信息

三、管理磁盘三步

1.分区

2.建立文件系统

3.挂载

四、永久挂载


一、磁盘结构

1.物理结构

  • 盘片:硬盘有多个盘片,每盘片有2面(正反两面)
  • 磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量

2.数据结构

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512 字节的数据(扇区越多容量越大)
  • 磁道:同一盘片不同半径的同心圆
  • 柱面:相同半径不同盘片构成的圆(柱面和磁道数量相同)

3.硬盘存储容量

  • 硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
  • 1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M
  • 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

4.硬盘接口类型

  • SCSI640MB/s,并行接口,早期服务器
  • SATA6GbpsSATA数据端口与电源(长的,数据 线短的)端口是分开的,即需要两条线,一条数据 线,一条电源线
  • SAS6GbpsSAS是一整条线,数据端口与电源端 口是一体化的,SAS中是包含供电线的,而SATA中不 包含供电线。SATA标准其实是SAS标准的一个子集, 二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

二、MBR与磁盘分区

1.为什么分区

  • 优化I/O性能
  • 实现磁盘空间配额限制
  • 提高修复速度
  • 隔离系统和程序
  • 安装多个OS
  • 采用不同文件系统

2.硬盘分区

        常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,只在扩展分区中可以建立逻辑分区。

        主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。

        主分区序号 1 ~ 4,逻辑分区序号 从 5 开始。

分区的作用:

主分区:可以直接使用,可以装系统

扩展分区:不可以直接使用,必须要分逻辑分区

逻辑分区:依托于扩展分区,使用的是扩展分区中的空间(装操作系统的)

3.MBR分区

          MBR磁盘采用MBR分区表,由于MBR4个字节存储分区总扇区数,最大可以表示232次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB。        

        第一个扇区的512字节,前446是引导程序,剩余的66字节,一个分区表16字节,最多可以划分4个分区,剩余2个字节是标识符。

三、文件系统

1.文件系统的作用

        操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,安全控制,日志,压缩,加密等。

2.常用文件系统

系统内核中的模块:xfs(默认)、ext4、vfat

Linux的虚拟文件系统:VFS

用户空间的管理工具:mkfs.ext4、mkfs.xfs、mkfs.vfat

//查看当前系统支持的文件系统类型
[root@localhost ~]#ls /usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/fs
binfmt_misc.ko.xz  ceph    dlm    fat      gfs2   lockd          nfs_common  overlayfs  udf
btrfs              cifs    exofs  fscache  isofs  mbcache.ko.xz  nfsd        pstore     xfs
cachefiles         cramfs  ext4   fuse     jbd2   nfs            nls         squashfs

四、分区工具 

1.新建主分区

[root@localhost ~]# fidisk 磁盘设备   //管理MBR分区,对硬盘2T以下

                                gdisk 磁盘设备   //管理GPT分区,对硬盘2T以上

//新建分区
[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x46696e0e 创建新的 DOS 磁盘标签。

//可以按m获取帮助
命令(输入 m 获取帮助):m
命令操作
   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
   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)

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)    --主分区
   e   extended         --扩展分区
Select (default p): p    --默认主分区
分区号 (1-4,默认 1):1        --按顺序,起始为1分区
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G   --自行设置分区大小
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):w                   --w保存之后生效(如果q退出不保存配置)
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

//查看磁盘
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   68G  0 part
  ├─centos-root 253:0    0   60G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
└─sdb1            8:17   0    5G  0 part        --分区1创建成功
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64

 注:创建后如果分区未出现,可以使用 partprobe 刷新检测分区表

2.新建扩展分区和逻辑分区

[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e    --先新建扩展分区
分区号 (3,4,默认 3):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+5G
分区 3 已设置为 Extended 类型,大小设为 5 GiB

命令(输入 m 获取帮助):n        --再次新建
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)           --这里会显示选项l,建立逻辑分区
Select (default p): l
添加逻辑分区 5
起始 扇区 (20975616-31459327,默认为 20975616):
将使用默认值 20975616
Last 扇区, +扇区 or +size{K,M,G} (20975616-31459327,默认为 31459327):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

3.建立文件系统

[root@localhost ~]# mkfs.文件系统 分区名

或                                        

[root@localhost ~]# mkfs -t 文件系统 分区名                                                                        

[root@localhost ~]#mkfs.xfs /dev/sdb1      --或mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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

4.建立特殊文件系统swap

[root@localhost ~]# mkswap 磁盘分区   //建立swap文件系统

[root@localhost ~]# swapon 磁盘分区    //启用swap分区                  

[root@localhost ~]# swapoff 磁盘分区    //关闭swap分区   

//将磁盘分区类型改变
[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):l

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
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)
正在同步磁盘。

//创建swap文件系统
[root@localhost ~]#mkswap /dev/sdb2
mkswap: /dev/sdb2: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 5242876 KiB
无标签,UUID=706b9c04-cde1-4cd1-aa9d-8d93e2d5f7f8

//启用分区swap
[root@localhost ~]#swapon /dev/sdb2
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   68G  0 part
  ├─centos-root 253:0    0   60G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
├─sdb1            8:17   0    5G  0 part
└─sdb2            8:18   0    5G  0 part [SWAP]
sr0              11:0    1  4.4G  0 rom

//swap 分区已经添加
[root@localhost ~]#free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        503M        953M         12M        362M        1.1G
Swap:           12G          0B         12G

//关闭分区swap
[root@localhost ~]#swapoff /dev/sdb2

//swap 分区已经失效
[root@localhost ~]#free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        503M        953M         12M        362M        1.1G
Swap:           8G          0B         8G

5.查看块设备属性信息

[root@localhost ~]# blkid
/dev/sda1: UUID="552d20a1-63f1-4209-af23-7bcdb31d1c84" TYPE="xfs"
/dev/sda2: UUID="6fo9RX-mUO5-UYxk-IP1n-TQ1N-GhTF-iVfsD3" TYPE="LVM2_member"
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="55ee1af5-fe77-4739-8a6f-6052e8ffa7e0" TYPE="xfs"
/dev/mapper/centos-swap: UUID="e5036b13-7867-47dd-8745-6ee9c91cd659" TYPE="swap"

三、管理磁盘三步

1.分区

[root@localhost ~]#fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x04282624 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

2.建立文件系统

[root@localhost ~]#mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
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

3.挂载

[root@localhost ~]#mount /dev/sdc1 /mnt

[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   80G  0 disk
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   68G  0 part
  ├─centos-root 253:0    0   60G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk
├─sdb1            8:17   0    5G  0 part
└─sdb2            8:18   0    5G  0 part
sdc               8:32   0   20G  0 disk
└─sdc1            8:33   0   10G  0 part /mnt
sr0              11:0    1  4.4G  0 rom

四、永久挂载

        Linux中,挂载使用硬件是一次性命令,重启后失效。想要使某个分区永久挂载,需要手动配置/etc/fstab。

//编辑fstab文件
[root@localhost ~]#vim /etc/fstab
## /etc/fstab
# Created by anaconda on Fri Jul 29 21:42:19 2022
#
# 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/centos-root /                       xfs     defaults        0 0
UUID=552d20a1-63f1-4209-af23-7bcdb31d1c84 /boot xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
//上面是原始文件
              uuid或磁盘分区路径          挂载点 文件系统类型               
UUID=69672616-755d-4a6a-9d35-ee00a566ad31 /mnt  xfs     defaults        0 0

-- 添加需要永久挂载的磁盘或磁盘分区(这里最好使用其uuid)
-- 可以在末行模式:.! blkid 磁盘或磁盘分区路径   将其uuid信息写入文件

[root@localhost ~]#mount -a    -- 需要用此命令校验,如果报错必须修改,否则系统无法启动

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值