Linux系统按照MBR(Master Boot Record)传统分区模式:
注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT(GUID Partition Table)
因为这一分区用4个字节描述 LBA,存储分区的总扇区数,最大能表示2的32次方的扇区个数(4294967295个),每扇区容量512字节,计算为4294967295*512/1024/1024/1024=2047.999999523162841796875 GB即2T容量,所以每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。
磁盘分区方式为:1~4个主分区
或者 0~3个主分区+1个扩展分区(n个逻辑分区)
注意事项:
MBR分区表只能记录4个主分区,编号范围1~4;
当有必要使用4个以上分区时,需要建立扩展分区(占主分区编号),扩展分区最多只能有1个
扩展分区作为一个中间性质的容器,从其中再划分出的分区空间即为逻辑分区
Linux系统磁盘分区的步骤:
1、先查看磁盘有没有分区,用lsblk命令查看,partprobe命令刷新磁盘分区信息后重新查看更准确信息
在虚拟机中操作,此处看见有两块硬盘,只有一个分区,硬盘vda下只有一个vda1分区,分区vda1的挂载点为/,即根目录为挂载点。
2、虚拟机上看到硬盘容量有点小,假设买了一块硬盘然后开始划分分区(虚拟机上关机进行添加硬盘操作,此处添加100G实验)
如上图,先将虚拟机关机,以方便添加硬盘操作(模拟真实环境,不能带电添加硬盘),双击打开虚拟机server
双击打开虚拟机server后出现上图中的界面,点击左上角的灯泡图标出现下图界面 ,可以看到现在只有两块虚拟硬盘VirtIO Disk 1 & VirtIO Disk 2,点击添加硬件
出现下面的界面,点击Storage存储设备,更改硬盘容量为100G,这里显示还有119.5G可用,但是分配时可以将数字超过119.5G,因为是虚拟的,所以硬件信息可以随意更改,虚拟机的硬盘会基于你用了多少给你分配多少真实的硬盘设备,qcow2格式的虚拟硬盘不会一次性给你100G容量(还有RAW格式的文件会一次性分配真实虚拟数值的硬盘出来,现在已经很少用了),但最多也只能分配真实的硬盘容量的虚拟盘出来做实验。
点完成,进入到下一步
可以看到硬盘设备多出来一个VirtIO Disk 3,可以点开这个虚拟硬盘查看具体信息
可以看到容量有100G,硬盘文件格式为qcow2文件格式 ,然后开启server虚拟机,在终端上重新查看硬盘信息,
可以看到,lsblk命令查看硬盘多出来一块100G的vdc就是刚才添加的硬盘。
3、正式开始分区,用fdisk命令,格式:fdisk 硬盘路径
fdisk进入到交互界面,m可以获得帮助,创建新的分区:n
进入到上图界面,p代表主分区、e代表扩展分区,此处一般选默认就行,按下回车键
进入到选择分区编号界面,一般会自动按照顺序编号,此处毅然选择默认就好,按下回车键
起始扇区默认就好,系统会自动按照上一分区的下一个扇区开始计算,按下回车键
Last扇区,此处是要进行手动分配的,因为这里是要选择分配给该分区多大容量,如果直接点击回车,则会把硬盘剩余的所有容量都分配给这个分区。这里假如分配10G,分配多少容量就+多少容量,要有单位,不然就是默认为最小单位扇区了,例如+10代表给分配10个扇区的容量,大约5.12KB容量。
分配10G完成后,又回到了分区开始时的分配界面,下面的分区方式与上面相同:
分区2:直接n--->回车(主分区p或者扩展分区e供选择,默认p)--->回车(分区号)--->回车(起始扇区)--->最后扇区(分配大小后回车)
分区3:直接n--->回车(主分区p或者扩展分区e供选择,默认p)--->回车(分区号)--->回车(起始扇区)--->最后扇区(分配大小后回车)
分区4:直接n--->回车(主分区p或者扩展分区e供选择,默认e、默认分区号4)--->回车(起始扇区)--->最后扇区(直接回车,默认把剩余的容量都给扩展分区)
分区5:直接n--->回车(默认e、默认逻辑分区号5)--->回车(起始扇区)--->最后扇区(分配大小后回车)
分区6:直接n--->回车(默认e、默认逻辑分区号6)--->回车(起始扇区)--->最后扇区(分配大小后回车)
.............................
如果有错误的分区,可以按d后按回车,选择分区编号就可以删除该分区,分区后按w后按回车表示保存分区信息,如果不想保存了就按q后再回车退出;分区的信息可以在fdisk界面下按p查看当前选择的硬盘的分区情况。
退回到主界面后可以用命令lsblk查看所有的硬盘以及分区情况
Linux系统磁盘删除分区:
1、如上图,用lsblk命令查看分区情况,突然不想要vdc8这个分区了,可以删除分区vdc8
依然是进入fdisk界面,按d后选择分区编号8,回车后在主界面lsblk查看,2G的分区8已经被删掉了,分区编号9自动变成分区编号8了。
Linux系统磁盘分区格式化:
格式化文件系统
• mkfs 工具集
– mkfs.ext3 分区设备路径
– mkfs.ext4 分区设备路径
– mkfs.xfs 分区设备路径
– mkfs.vfat 分区设备路径
查看分区文件系统
• blkid
格式化
[root@server0 ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" #默认的vda文件格式为xfs
[root@server0 ~]# blkid /dev/vdc
/dev/vdc: PTTYPE="dos" #查看上面的分区文件系统可以看到为dos格式,就是代表没有格式化
例如将vdc6、vdc7、vdc8分别格式化为xfs、ext3、ext4格式
[root@server0 ~]# mkfs.xfs /dev/vdc6
[root@server0 ~]# blkid /dev/vdc6
/dev/vdc6: UUID="8600eb3b-82c4-45aa-8a37-e3116f9430ad" TYPE="xfs"
[root@server0 ~]# mkfs.ext3 /dev/vdc7
[root@server0 ~]# blkid /dev/vdc7
/dev/vdc7: UUID="7845f666-fc2c-454c-82ef-9ef3c234d040" SEC_TYPE="ext2" TYPE="ext3"
[root@server0 ~]# mkfs.ext4 /dev/vdc8
[root@server0 ~]# blkid /dev/vdc8
/dev/vdc8: UUID="c0c26aa8-e2bd-48b3-80c5-ccc17b8d1a34" TYPE="ext4"
Linux系统磁盘分区挂载和卸载:
临时挂载:关机后再开机,挂载就消失了
[root@server0 ~]# mkdir /mnt/disk6
[root@server0 ~]# mkdir /mnt/disk7
[root@server0 ~]# mkdir /mnt/disk8
[root@server0 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.0G 7.1G 30% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
[root@server0 ~]# mount /dev/vdc6 /mnt/disk6
[root@server0 ~]# mount /dev/vdc7 /mnt/disk7
[root@server0 ~]# mount /dev/vdc8 /mnt/disk8
[root@server0 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.0G 7.1G 30% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdc6 20G 33M 20G 1% /mnt/disk6
/dev/vdc7 18G 45M 17G 1% /mnt/disk7
/dev/vdc8 5.8G 24M 5.5G 1% /mnt/disk8
卸载:
[root@server0 ~]# umount /mnt/disk6
[root@server0 ~]# umount /mnt/disk7
[root@server0 ~]# umount /mnt/disk8
[root@server0 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.0G 7.1G 30% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
永久挂载(开机自动挂载):即使关机了再开机,挂载依然还在
[root@server0 ~]# vim /etc/fstab
[root@server0 ~]# tail -3 /etc/fstab
/dev/vdc6 /mnt/disk6 xfs defaults 0 0
/dev/vdc7 /mnt/disk7 ext3 defaults 0 0
/dev/vdc8 /mnt/disk8 ext4 defaults 0 0
[root@server0 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.0G 7.1G 30% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
[root@server0 ~]# mount -a
[root@server0 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 10G 3.0G 7.1G 30% /
devtmpfs 906M 0 906M 0% /dev
tmpfs 921M 80K 921M 1% /dev/shm
tmpfs 921M 17M 904M 2% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/vdc6 20G 33M 20G 1% /mnt/disk6
/dev/vdc7 18G 45M 17G 1% /mnt/disk7
/dev/vdc8 5.8G 24M 5.5G 1% /mnt/disk8
补充:
一、Mount挂载命令使用方法
语法: mount -t 类型 -o 挂接方式 源路径 目标路径
-t 详细选项:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs(需内核支持)推荐cifs
UNIX(LINUX) 文件网络共享:nfs
-o 详细选项:
loop :用来把一个文件当成硬盘分区挂接上系统
ro :采用只读方式挂接设备
rw :采用读写方式挂接设备
iocharset :指定访问文件系统所用字符集,例如iocharset=utf8
remount :重新挂载
使用实例:
挂载windows文件共享:
sudo mount -t cifs -o username=user,password=passwd //192.168.6.6/share /mnt/share
mount -t cifs -o username=xxx,password=xxx //IP/sharename /mnt/dirname
挂载Linux文件nfs共享:
mount -t nfs -o rw 192.168.1.2:/usr/www /usr/www
挂载ISO镜像:
mount -o loop -t iso9660 /usr/mydisk.iso /home/ping.bao/cd
挂载USB移动硬盘:
mount -t ntfs /dev/sdc1 /root/usb
挂载CDROM:
mount /dev/cdrom /home/ping.bao/cd
取消挂载:
umount /dev/cdrom /home/ping.bao/cd
单用户模式重新挂载根分区:
mount -o remount,rw /
二、开机挂载iso镜像文件,挂载的格式iso9660,如下:
/ISO/rhel-server-7.2-x86_64-dvd.iso /mnt/dvd iso9660 defaults 0 0
读一个开机自动挂载的配置文件:
[root@room8pc205 ~]# cat /etc/fstab
/dev/mapper/centos-data /data xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/ISO/rhel-server-7.2-x86_64-dvd.iso /mnt/dvd iso9660 defaults 0 0
/ISO/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7 iso9660 defaults 0 0
在RedHat7.2中,开机自动挂载配置文件/etc/fstab有以下特点:
1> 挂载项的执行顺序默认是从上到下
2> 同一个设备挂载点为多个的时候,开机自动挂载只会执行一个,默认最上面一个
3> 同一个设备已经挂载了临时挂载位置,mount -a 命令不会让该设备开机自动挂载的其它路径生效,临时挂载位置不改变
4> 已经挂载成功的开机挂载项,即使在配置文件里的该挂载项上面添加挂载该镜像到别的位置,mount -a命令也是不会执行上面的挂载项,保持原样
5> swap交换分区挂载点为swap 文件系统也是 swap
6> 镜像文件默认系统不一定是iso9660,可以设法查看镜像文件的系统参数,参考以下
通过/etc/fstab自动挂载iso镜像的ISO格式问题
一般情况下面,我们可以通过:mount -t iso9660 -o loop xx.iso /media #临时将xx.iso镜像挂载到/media
类似的写入/etc/fstab中:xx.iso /media iso9660 defaults,ro,loop 0 0 然后再mount -a 挂载
但是或许会出现如下问题:
[root@desktop2 ~]# cat /etc/fstab |grep iso
/root/rh401-pub.iso /mediaiso9660 defaults,ro,loop 0 0
[root@desktop2 ~]# mount -a
mount: wrong fs type, bad option, bad superblock on /dev/loop0,missing codepage or other error In some cases useful info is found insyslog - try dmesg | tailor so
提示错误的文件系统类型,so,可能iso镜像文件并不是一般的iso9660格式的,如何查看呢?
1.手动挂载
2.查看系统类型 udf
[root@desktop2 ~]# mount -o loop rh401-pub.iso /media/
[root@desktop2 ~]# df -T #查看文件系统
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 135325776 55307840 73032876 44% /
/dev/sda1 ext3 194442 12027 172376 7% /boot
tmpfs tmpfs 2998992 0 2998992 0% /dev/shm
/root/rh401-pub.iso udf 31957342 31957342 0 100% /media #可以看到该系统的文件格式是udf
3.在/etc/fstab中就知道怎么写了
[root@desktop2 ~]# grep udf /etc/fstab --color
/root/rh401-pub.iso /media udf defaults,ro,loop 0 0
[root@desktop2 ~]# mount -a
[root@desktop2 ~]# mount |grep udf --color
/root/rh401-pub.iso on /media type udf (rw,loop=/dev/loop0)