Linux系统下使用fdisk划分新磁盘并挂载使用 ——CentOS7

## 需要掌握的内容

  • 掌握fdisk命令的用法
  • 能理解并熟练地划分磁盘分区
  • 能掌握分区的格式化与挂载使用

## 使用的设备

VMware workstation
CentOS7

准备工作

为虚拟机先挂载一块磁盘,大小为10G
挂载完成之后开启虚拟机

# 首先我们先认识linux系统下的磁盘基本操作

1.磁盘分区

硬盘在使用前需要对其进行分区,磁盘分区原理与规则如下:

  • 磁盘分区类型

主分区,扩展分区,逻辑分区

  • 分区规则
  • 主分区+扩展分区的数量不能超过4个,且扩展分区只能有1个。逻辑分区要在扩展分区之上进行划分,逻辑分区没有数量限制,可以任意个。
  • 扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。
  • 硬盘的容量=主分区的容量+扩展分区的容量;扩展分区的容量=各个逻辑分区的容量之和
  • 磁盘分区的命名方式

对于SCSI接口类型的硬盘,在Linux中用sd来标识,而IDE硬盘是属于IDE接口类型的硬盘,在Linux中用hd来标识。

在Linux中,不同硬盘的命名规则如下:

第一块SCSI接口类型硬盘:/dev/sda

第二块SCSI接口类型硬盘:/dev/sdb

第一块IDE接口类型硬盘:/dev/hda

第二块IDE接口类型硬盘:/dev/hdb

关于硬盘的分区,一块硬盘最多只能有4个主分区或3个主分区加1个扩展分区,即序号1-4是留给主分区或扩展分区用的,主分区和扩展分区加起来最多只有4个,主分区与扩展分区是平级的。一块硬盘最多也只能有一个扩展分区,但扩展分区不能直接用来存放数据,需要把它划分为若干个逻辑分区。因此从上面可知,逻辑分区的编号一定是从5开始的。

在Linux中分区编号:

第一块SCSI接口类型硬盘的第1个分区:/dev/sda1

第一块SCSI接口类型硬盘的第5个分区:/dev/sda5

第一块IDE接口类型硬盘的第1个分区:/dev/hda1

第一块IDE接口类型硬盘的第5个分区:/dev/hda5

2.磁盘分区命令fdisk的用法

  • fdisk命令用法Usage

 fdisk [options] <disk>    change partition table修改磁盘分区表

 fdisk [options] -l <disk> list partition table(s) 显示分区表

 fdisk -s <partition>      give partition size(s) in blocks给出分区大小

  • fdisk命令常用的选项Options

 -b <size>        sector size (512, 1024, 2048 or 4096) 指定扇区大小

 -c[=<mode>]     compatible mode: ‘dos’ or ‘nondos’ (default) 指定兼容模式

 -h              print this help text 显示帮助信息

 -u[=<unit>]      display units: ‘cylinders’ or ‘sectors’ (default)

 -v              print program version  显示程序版本

 -C <number>     specify the number of cylinders

 -H <number>     specify the number of heads

 -S <number>     specify the number of sectors per track

  • fdisk命令参数

例如,执行fdisk /dev/sdb命令时出现如下界面:

[root@localhost ~]# fdisk /dev/sdb
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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x57c121b3.

Command (m for help):m #使用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
   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):

下面是常用的命令动作:

 p:打印分区表

 n:新建一个新分区

 d:删除一个新分区

q:退出不保存

w:退出且保存

若要创建分区,输入n,出现如下界面。p表示主分区,e表示扩展分区

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

3.与磁盘或分区有关的命令

  • lsblk和blkid命令

lsblk 是一个 Linux 工具,它会显示有关你系统里所有可用块设备的信息。它从 sysfs 文件系统 中获取信息。默认情况下,这个工具将会以树状格式显示(除了内存虚拟磁盘外的)所有块设备。

blkid 命令是一个命令行工具,它可以显示关于可用块设备的信息。它可以识别一个块设备内容的类型(如文件系统、交换区)以及从内容的元数据(如卷标或 UUID 字段)中获取属性(如 tokens 和键值对)。它主要有两类作用:用指定的键值对搜索一个设备,或是显示一个或多个设备的键值对。

  • 分区格式化命令mkfs.xfs

mkfs.xfs命令将分区格式化为一个XFS文件系统。具体命令格式可以参考该命令手册,如下:

[root@localhost ~]# man mkfs.xfs

将会显示内容:

mkfs.xfs(8)                           System Manager's Manual                           mkfs.xfs(8)

NAME
       mkfs.xfs - construct an XFS filesystem

SYNOPSIS
       mkfs.xfs [ -b block_size ] [ -m global_metadata_options ] [ -d data_section_options ] [ -f ]
       [ -i inode_options ] [ -l log_section_options ] [ -n naming_options ] [ -p protofile ] [  -q
       ] [ -r realtime_section_options ] [ -s sector_size ] [ -L label ] [ -N ] [ -K ] device
       mkfs.xfs -V

例如,运行命令 mkfs.xfs /dev/sdb1,将sdb1分区格式化为XFS文件系统。

  • 挂载文件系统命令

命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir

device:指明要挂载的设备;

(1) 设备文件:例如/dev/sdb1

(2) 卷标:-L ‘LABEL’, 例如 -L ‘MYDATA’

(3) UUID, -U ‘UUID’:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’

(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs

dir:挂载点

    已存在的目录,例如/mnt,建议使用空目录

    进程正在使用中的设备无法被卸载;

常用命令选项:

    -t vsftype:指定要挂载的设备上的文件系统类型;

    -r: readonly,只读挂载;

    -w: read and write, 读写挂载;

    -n: 不更新/etc/mtab;

    -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)

    -L ‘LABEL’: 以卷标指定挂载设备;

    -U ‘UUID’: 以UUID指定要挂载的设备;

    -B, –bind: 绑定目录到另一个目录上;

## 简单小操作

挂载磁盘

mount [块设备路径] [挂载点]
umount [块设备路径] [挂载点] #解除挂载

查看机器上的块设备

[root@localhost ~]# 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]
sdb               8:16   0   10G  0 disk
sr0              11:0    1  5.9G  0 rom  /run/media/admin/SSS_X64FREV_ZH-CN_DV9

查看磁盘使用情况

[root@localhost ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  17811456 3842904  13968552  22% /
devtmpfs                   914560       0    914560   0% /dev
tmpfs                      931624       0    931624   0% /dev/shm
tmpfs                      931624   10716    920908   2% /run
tmpfs                      931624       0    931624   0% /sys/fs/cgroup
/dev/sda1                 1038336  182732    855604  18% /boot
tmpfs                      186328       4    186324   1% /run/user/42
tmpfs                      186328      28    186300   1% /run/user/1000
tmpfs                      186328       0    186328   0% /run/user/0
/dev/sr0                  6154392 6154392         0 100% /run/media/admin/SSS_X64FREV_ZH-CN_DV9

# 尝试操作

1.对硬盘sdb创建一个主分区,分区大小为5G;将剩余磁盘空间全部分给第二个主分区。

[root@local ~]# fdisk /dev/sdb
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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x206c1f21.

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
   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 (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p  # 选择主分区
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048): # 尽量不改动起始扇区
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):+5G # 设定分区大小
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help):w # 写入改动

# 查看改动
[root@local ~]# 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]
sdb               8:16   0   10G  0 disk
└─sdb1            8:17   0    5G  0 part
sr0              11:0    1  5.9G  0 rom  /run/media/admin/SSS_X64FREV_ZH-CN_DV9

2.查看分区信息

[root@40-zyz ~]# 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]
sdb               8:16   0   10G  0 disk
├─sdb1            8:17   0    5G  0 part
└─sdb2            8:18   0    5G  0 part
sr0              11:0    1  5.9G  0 rom  /run/media/admin/SSS_X64FREV_ZH-CN_DV9

3.请对磁盘分区进行格式化,文件系统类型为xfs。

[root@local ~]# mkfs.xfs -f /dev/sdb1 # 这里输入分区地址,使用了-f参数强制写入
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
[root@local ~]# mkfs.xfs -f /dev/sdb2
meta-data=/dev/sdb2              isize=512    agcount=4, agsize=327616 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310464, 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.创建两个目录作为磁盘分区挂载点:/mnt/sdb1和/mnt/sdb2。并且将两个磁盘分区分别挂载到挂载点,并查看文件系统磁盘使用情况。

[root@local ~]# mkdir /mnt/sdb1
[root@local ~]# mkdir /mnt/sdb2
[root@local ~]# mount /dev/sdb1 /mnt/sdb1
[root@local ~]# mount /dev/sdb2 /mnt/sdb2
[root@local ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  3.7G   14G  22% /
devtmpfs                devtmpfs  894M     0  894M   0% /dev
tmpfs                   tmpfs     910M     0  910M   0% /dev/shm
tmpfs                   tmpfs     910M   11M  900M   2% /run
tmpfs                   tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  179M  836M  18% /boot
tmpfs                   tmpfs     182M  4.0K  182M   1% /run/user/42
tmpfs                   tmpfs     182M   28K  182M   1% /run/user/1000
tmpfs                   tmpfs     182M     0  182M   0% /run/user/0
/dev/sr0                udf       5.9G  5.9G     0 100% /run/media/admin/SSS_X64FREV_ZH-CN_DV9
/dev/sdb1               xfs       5.0G   33M  5.0G   1% /mnt/sdb1
/dev/sdb2               xfs       5.0G   33M  5.0G   1% /mnt/sdb2

5.配置系统启动自动挂载

# 查看磁盘的UUID
[root@local ~]# sudo blkid
/dev/mapper/centos-root: UUID="1e13615b-2351-451a-81f1-716d18707930" TYPE="xfs"
/dev/sda2: UUID="Y7HLA9-JxiM-KGat-xr9u-dxtK-gyqz-j76q4d" TYPE="LVM2_member"
/dev/sr0: UUID="2018-02-02-23-05-47-00" LABEL="SSS_X64FREV_ZH-CN_DV9" TYPE="udf"
/dev/sda1: UUID="0d34336c-0af5-4c6a-8a2f-f5baf651131d" TYPE="xfs"
/dev/sdb1: UUID="7bf2d76f-41f7-4e88-bb36-a027454ab55a" TYPE="xfs"
/dev/sdb2: UUID="cb8bfa4b-40f8-4b1d-9332-1ddb7f9c4bc5" TYPE="xfs"
/dev/mapper/centos-swap: UUID="775aad85-0c05-4edb-8dc6-a80e02af7251" TYPE="swap"
# 修改fstab文件
# 在/etc/fatab末尾加上 UUID 挂载路径 文件类型 defaults 0 0
# 查看挂载状态
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  3.7G   14G  22% /
devtmpfs                 894M     0  894M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/sdb1                5.0G   33M  5.0G   1% /mnt/sdb1
/dev/sdb2                5.0G   33M  5.0G   1% /mnt/sdb2
/dev/sda1               1014M  179M  836M  18% /boot
tmpfs                    182M  4.0K  182M   1% /run/user/42
tmpfs                    182M   20K  182M   1% /run/user/1000
/dev/sr0                 5.9G  5.9G     0 100% /run/media/admin/SSS_X64FREV_ZH-CN_DV9
tmpfs                    182M     0  182M   0% /run/user/0

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇