磁盘是怎么分区的在文章后面会谈到,先谈一下Linux文件系统的简单操作。不过在阅读本文之前,我假定读者们对Linux的磁盘与文件系统以及目录树已经有了初步的了解。

一、添加磁盘之前,先用fdisk -l查看磁盘的基本信息

dfisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00043041

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 20971519 9436160 8e Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/cl-root: 8585 MB, 8585740288 bytes, 16769024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/cl-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

说明:Linux系统的分区格式使用的是xyzN的格式,xy表示的是硬盘类型,如上面的执行结果,sd表示是SCSI硬盘,z表示的是硬盘序号,第一块硬盘是a,第二块硬盘是b,所以要查询Linux系统上有几块硬盘,只要注意这一点即可。N表示的是分区号。

三、首先查看未指派的分区名称,有的不一样,我的分别是/dev/sda和/dev/sdb,sda是系统分区,sdb是存储数据分区,可以看到10G的数据磁盘,我们现在执行分区,代码如下:

fdisk /dev/sdb     //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 0x52d681d6.

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help):【输入n回车,添加新分区,如果需要更多,请输入m回车看帮助】

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):【输入p回车,P的意思是主分区】
Partition number (1-4, default 1):【输入数字1回车,分区数量】
First sector (2048-20971519, default 2048):【默认回车】
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):【默认回车】
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help):【输入wq保存】

The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

四、分区结束后,再次通过fdisk -l查询,结果如下:

fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00043041

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 20971519 9436160 8e Linux LVM

Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x52d681d6

Device Boot Start End Blocks Id System
/dev/sdb1 2048 20971519 10484736 83 Linux

Disk /dev/mapper/cl-root: 8585 MB, 8585740288 bytes, 16769024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mapper/cl-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

五、挂载之前需要对分区进行格式化,

可以查看/dev/sdb1已经被默认分区,现在开始格式化此分区,一般格式化为ext4

注意:以下有几种常用磁盘格式,

格式化ext3格式,代码如下;

# mkfs.ext3 /dev/sdb1

格式化ext4格式,代码如下;

# mkfs.ext4 /dev/sdb1

我这里采用的是xfs磁盘格式;代码如下;

# mkfs.xfs -f /dev/sdb1

meta-data=/dev/sdb1 isize=512 agcount=4, agsize=655296 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621184, 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=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

六、已经格式化成功。将磁盘挂载信息写入到系统配置文件中,不然开机不会自动挂载,代码如下;

# echo ‘/dev/sdb1 /www xfs defaults 0 0’ >> /etc/fstab
# mkdir /www //新建挂载目录
# mount -a //挂载磁盘
# df -h //查看挂载是否成功

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 8.0G 3.1G 5.0G 39% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 916M 0 916M 0% /dev/shm
tmpfs 916M 8.3M 908M 1% /run
tmpfs 916M 0 916M 0% /sys/fs/cgroup
/dev/sda1 1014M 138M 877M 14% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb1 10G 33M 10G 1% /www

可以看到www目录已经挂载成功。