Linux添加硬盘并进行分区、格式化、挂载及卸载

【1】分区基础知识

① 分区方式

  • mbr分区:
    1.最多支持四个主分区
    2.系统只能安装在主分区
    3.扩展分区要占一个主分区
    4.MBR最大只支持2TB,但拥有最好的兼容性
  • gtp分区:
    1.支持无限多个主分区(但操作系统可能限制,比如windows下最多128个分区)
    2.最大支持18EB的大容量(1EB=1024 PB,1PB=1024 TB )
    3.windows7 64位以后支持gtp

② Windows分区图示

Linux添加硬盘并进行分区、格式化、挂载及卸载_第1张图片

③ Linux分区

Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构, Linux中每个分区都是用来组成整个文件系统的一部分。

Linux采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

④ 硬盘说明

Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘。对于IDE硬盘,驱动器标识符为“hdx~”。

  • “hd”表明分区所在设备的类型,这里是指IDE硬盘了。
  • “x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘)。
  • “~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。
  • 例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

命令示意如下:

//查看硬盘详细信息
[root@bogon home]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00058b12

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2358    18631680   83  Linux
/dev/sda3            2358        2611     2031616   82  Linux swap / Solaris

//查看硬盘分区挂载详细信息
[root@bogon home]# lsblk -l
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0   20G  0 disk
sda1   8:1    0  300M  0 part /boot
sda2   8:2    0 17.8G  0 part /
sda3   8:3    0    2G  0 part [SWAP]
sr0   11:0    1 1024M  0 rom

//目录结构树形式展示 分区信息与挂载
[root@bogon home]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda
├─sda1 ext4         1594a9f0-cefd-49f3-92d7-401797cfec33 /boot
├─sda2 ext4         7c099cd4-d17f-4576-adcf-524d13705ee4 /
└─sda3 swap         0e7b48c1-8be9-4346-bf17-ae7fddf77f26 [SWAP]
sr0
//一块硬盘sd 三个分区;
//两个ext4分区,一个交换分区swap
// /boot / 分别表示硬盘对应的挂载--把分区与文件系统关联
//  uuid  是硬盘格式化后唯一标识分区
// sr0 表示光驱

⑤ ext3、ext4和xfs三种文件系统

centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3。

ext3和ext4的最大区别在于,ext3在fsck时需要耗费大量时间(文件越多,时间越长),而ext4在fsck时用的时间会少非常多

ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linux系统下的日志文件系统,是ext3文件系统的后继版本。

ext4的文件系统容量达到1EB,而文件容量则达到16TB,这是一个非常大的数字了。对一般的台式机和服务器而言,这可能并不重要,但对于大型磁盘阵列的用户而言,这就非常重要了。

ext3目前只支持32000个子目录,而ext4取消了这一限制,理论上支持无限数量的子目录。

xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。xfs被称为业界最先进的、最具可升级性的文件系统技术
xfs是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在16TB。

xfs在很多方面确实做的比ext4好,ext4受限制于磁盘结构和兼容问题,可扩展性(scalability)确实不如xfs,另外xfs经过很多年发展,各种锁的细化做的也比较好。


【2】虚拟机添加硬盘并进行分区、格式化、挂载

① 虚拟机添加硬盘

虚拟机–设置–添加,然后下一步…即可。
Linux添加硬盘并进行分区、格式化、挂载及卸载_第2张图片
Linux添加硬盘并进行分区、格式化、挂载及卸载_第3张图片
添加完后用命令查看:
Linux添加硬盘并进行分区、格式化、挂载及卸载_第4张图片
从上面可以看到已经添加一块sdb硬盘大小为2G,此时没有文件系统,没有挂载,么有UUID。


② 进行分区

添加完硬盘后首先进行分区,操作步骤如下:

[root@bogon dev]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2737ab8f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

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
   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
Command action
   e   extended
   p   primary partition (1-4) //主分区
p
Partition number (1-4): 1
First cylinder (1-261, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): 
Using default value 261

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
   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): w
The partition table has been altered!

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

//查看硬盘与挂载详情
[root@bogon dev]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sr0                                                      
sda                                                      
├─sda1 ext4         1594a9f0-cefd-49f3-92d7-401797cfec33 /boot
├─sda2 ext4         7c099cd4-d17f-4576-adcf-524d13705ee4 /
└─sda3 swap         0e7b48c1-8be9-4346-bf17-ae7fddf77f26 [SWAP]
sdb                                                      
└─sdb1              

总结:分区命令fdisk /dev/sdb,开始对/sdb分区

	•m 显示命令列表
	•p 显示磁盘分区同fdisk –l
	•n 新增分区
	•d 删除分区
	•w 写入并退出

说明:开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。


③ 格式化

mkfs命令–>make filesystem的缩写,用来在特定的分区建立Linux文件系统。

//ext4是分区文件系统类型
[root@bogon dev]# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524112 blocks
26205 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


[root@bogon dev]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sr0                                                      
sda                                                      
├─sda1 ext4         1594a9f0-cefd-49f3-92d7-401797cfec33 /boot
├─sda2 ext4         7c099cd4-d17f-4576-adcf-524d13705ee4 /
└─sda3 swap         0e7b48c1-8be9-4346-bf17-ae7fddf77f26 [SWAP]
sdb                                                      
└─sdb1 ext4         f3b7a79c-1041-403d-889b-83372a2789d4 
[root@bogon dev]# 


④ 挂载

[root@bogon home]# mkdir sdb1
[root@bogon home]# ll
total 16
drwx------. 25 jane  jane    4096 Jun 14 07:06 jane
drwx------. 24 janus mygroup 4096 Jul  4 00:31 janus
drwx------.  5 mysql mysql   4096 Jul  3 02:24 mysql
drwxr-xr-x.  2 root  root    4096 Jul  9 02:55 sdb1

//执行命令挂载
[root@bogon home]# mount /dev/sdb1 /home/sdb1/

//查看挂载后的分区与目录
[root@bogon home]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sr0                                                      
sda                                                      
├─sda1 ext4         1594a9f0-cefd-49f3-92d7-401797cfec33 /boot
├─sda2 ext4         7c099cd4-d17f-4576-adcf-524d13705ee4 /
└─sda3 swap         0e7b48c1-8be9-4346-bf17-ae7fddf77f26 [SWAP]
sdb                                                      
└─sdb1 ext4         f3b7a79c-1041-403d-889b-83372a2789d4 /home/sdb1

需要注意的是,用命令行挂载重启后会失效。
Linux添加硬盘并进行分区、格式化、挂载及卸载_第5张图片
使用df -h命令查看磁盘使用情况:

[root@bogon home]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        18G  8.3G  8.3G  50% /
tmpfs           491M  228K  491M   1% /dev/shm
/dev/sda1       283M   34M  234M  13% /boot
.host:/         100G   18G   83G  18% /mnt/hgfs
/dev/sdb1       2.0G  3.1M  1.9G   1% /home/sdb1

⑤ 设置永久挂载(自动挂载)

通过修改/etc/fstab实现挂载,添加完成后执行mount –a 即刻生效。

可以使用vim快捷操作yy p快捷复制一行然后修改,这里不再使用UUID直接指定目标磁盘。
Linux添加硬盘并进行分区、格式化、挂载及卸载_第6张图片

⑥ 断开挂载

断开挂载关系,可以使用命令umount:

//目标磁盘
umount /dev/sdb1;

//目标文件系统
umount /home/sdb1;

【3】已经存在目录挂载硬盘

如果目录已经在系统盘里存在,这里面有这样几种情况(假设目录为/home/test,系统盘是挂载在根目录/下的):
1.目录下面无数据;
2.目录下面有数据;
3.目录已经有磁盘挂载;

① /home/test在系统盘下无数据

既然无数据,那就随意操作吧。

② /home/test在系统盘下有数据

Linux添加硬盘并进行分区、格式化、挂载及卸载_第7张图片
这时候如果有磁盘挂载上去是可以挂载的,但是因为目录指向了新的磁盘,那么原先的数据将不可见。不过可以将数据先放在别的目录下,然后再转移到新的挂载的磁盘。

③ /home/test已经有磁盘挂载

比如 vdb1磁盘挂载在/home/test,那么此时你再用vdb2磁盘挂载到/home/test是挂载失败的。如果需要挂载,则先将vdb1卸载掉。然后再根据①②判断处理。

你可能感兴趣的:(Linux,linux经典入门)