Linux磁盘分区管理笔记

磁盘管理(disk manage) - 01-15-AM
存储管理(storage manage)

新硬盘的管理流程:分区fdisk或parted--〉格式化mkfs--〉挂载mount
思考:将分区、格式概念和一套3室一厅的房子联系起来。或者将分区、格式概念和一个衣柜联系起来。也可以将分区、格式概念和小学生的方格写字本联系起来。
Linux磁盘分区管理笔记

分区的作用:将硬盘上的数据进行分类管理,如c盘存操作系统,d盘存安装软件,e盘存电影和音乐。
格式化:是一个创建文件系统的过程,将分区中的容量按逻辑上分成inode表、数据块等信息。
挂载:将一个分区的文件系统加载(读)到一个目录中。即目录是访问分区文件系统的入口,访问这个挂载点目录就等同于访问这个分区文件系统中的文件。

硬盘分区(disk partition):
GPT分区管理:parted命令
GPT:是GUID(Globally Unique Identifier) Partition Table全局唯一标识分区表的缩写。GPT分区表中只有主分区这个管理概念。允许创建128个主分区。GPT分区表可以用来管理总容量大于2TB以上的硬盘。硬盘的UUID号可用blkid命令来查。

GUID:全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。GUID标识符由随机产生的字母、数字混合组成。

练习准备:将linux虚拟机关机,给虚拟机添加5块SCSI接口的2GB的硬盘,创建快照“5块2G硬盘”,然后将虚拟机开机,执行lsblk命令显示磁盘块设备列表。

要求:将2GB的硬盘sdb用GPT分区表进行管理,要求给sdb硬盘创建2个主分区,第1个主分区容量是1.5G,另一个主分区的容量使用所有剩余空间。
查块设备列表(list block):lsblk
定义分区表标签(即格式):parted -s /dev/sdb mklabel gpt
创建第1个1.5G的主分区:parted -s /dev/sdb mkpart primary 1M 1.5G
创建第2个主分区(使用所有剩余空间-1):parted -s /dev/sdb mkpart primary '1.5G -1'
查看sdb硬盘的分区表信息:lsblk 或 fdisk -l /dev/sdb

parted命令的附加功能:
显示(print)sdb硬盘的分区表:parted /dev/sdb p
删除(remove)sdb硬盘的2号分区:parted -s /dev/sdb rm 2

mount挂载:将分区的文件系统内容读取到一个目录中。访问这个挂载点目录就等同于访问这个分区文件系统中的文件。其实windows中的c、d等盘符就是自动挂载的目录。例如,在windows中插入U盘后会被自动分配到一个盘符,这就是微软在后台做的一个mount自动挂载的程序。

要求:将sdb硬盘的第1个分区格式化成ext4文件系统,将第2个分区格式化成xfs文件系统。将第1个分挂载到/mnt/sdb1目录中,将第2个分挂载到/mnt/sdb2目录中。分别往分区的挂载点目录中写入一些数据。
查分区:lsblk
格式化1号分区:mkfs.ext4 /dev/sdb1 或 mkfs -t ext4 /dev/sdb1
格式化2号分区:mkfs.xfs /dev/sdb2 或 mkfs -t xfs /dev/sdb1
创建挂载点目录:mkdir -pv /mnt/sdb{1,2} 或 mkdir -pv /mnt/sdb1 /mnt/sdb2
手动挂载:mount /dev/sdb1 /mnt/sdb1 ; mount /dev/sdb2 /mnt/sdb2
查挂载信息:lsblk 或 df -hT 或 mount
写入数据:touch /mnt/sdb1/{a.txt,b.mp3} ; cp -v /etc/host* /mnt/sdb2
递归(-R)显示/mnt目录中的文件名列表:ls -R /mnt

课堂练习:参考sdb硬盘的操作,将sdc、sdd硬盘也做同样的分区、格式化、手动挂载、写入文件操作。
磁盘分区的参考脚本(入门级):
入门级脚本:即没有if条件、for循环这些控制语句的脚本,通常是一次性的脚本。
cat pt.sh 脚本内容如下
#!/bin/bash
#脚本中以#号开头的内容为注释,仅起到说明作用。上面的#!/bin/bash脚本的解释器程序名,通常是/bin/bash或/bin/sh或/bin/python。
#以下的a、x是变量,$a、$x是调用变量a、x的取值。
a=/dev/sdc
x=/mnt/sdc
lsblk
parted -s $a mklabel gpt
parted -s $a mkpart primary 1M 1.5G
parted -s $a mkpart primary '1.5G -1'
lsblk
mkfs.ext4 ${a}1
mkfs.xfs ${a}2
mkdir -pv ${x}1 ${x}2
mount ${a}1 ${x}1
mount ${a}2 ${x}2
touch ${x}1/{a.txt,b.mp3}
cp -v /etc/host* ${x}2/
ls ${x}1 ${x}2
lsblk

给脚本添加可执行权限:chmod +x pt.sh
运行脚本:./pt.sh 或 bash pt.sh 或 sh pt.sh 或 python pt.py

到此,GPT分区的管理介绍完毕,其中内容包括分区的查询lsblk、创建parted、格式化mkfs、挂载mount。


MBR分区表管理:
MBR:是主引导记录(main boot record)的缩写。
MBR:是保存在硬盘的0磁道0柱面1扇区的位置,占用512字节(因为1个扇区默认的大小是512字节)。其中bootloader引导程序占用446字节,DPT(disk partition table)分区表占用64字节,magic占用2字节。

MBR的分区表特点:
0.只能管理总容量在2TB以内的硬盘。
1.最多只允许分4个主分区,因为DPT分区表总容量是64字节,每个分区占用16字节,即64/16=4。
2.如果想分的个以上的分区,可采用分一个主分区(primary)和一个扩展分区(extend),然后在扩展分区中创建逻辑(logical)分区来实现。
3.主分区的编号为1~4,第1个逻辑分区的编号默认为5。
4.只能在主分区和逻辑分区上格式化创建文件系统。并且只能在主分区和逻辑分区上写入文件。
Linux磁盘分区管理笔记

Linux磁盘分区管理笔记

硬盘分5个分区的方案(用MBR分区表):
方案一、1个主分区,1个扩展分区,4个逻辑分区。
方案二、3个主分区,1个扩展分区,2个逻辑分区。

练习准备:将sdb硬盘的两个分区的文件系统依次卸载掉,并删除sdb硬盘的所有分区。
查分区表信息:lsblk
卸载分区的文件系统:umount /mnt/sdb1 /mnt/sdb2
删除分区表(修改分区表格式标签即可):parted -s /dev/sdb mklabel msdos
查分区表信息:lsblk

MBR分区练习:将2GB的硬盘sdb用MBR分区表进行管理,要求给sdb硬盘创建1个容量为1.2G的主分区,再创建一个扩展分区容量为所有剩余空间。在扩展分区中创建2个逻辑分区,第1个逻辑分区容量为600M,第2个逻辑分区的容量为所有剩余空间。
查分区表信息:lsblk
cfdisk管理分区:cfdisk /dev/sdb
cfdisk快捷键:n是new新建 p是primary主分区 l是logical逻辑分区
W(大写)是wite保存(写入) q是quit退出
创建主分区:n新建==>p主分区==>1.2G回车==>beginning回车==>W(大写)保存==>yes回车
创建逻辑分区1:选free空闲空间==> n新建==>l逻辑分区==>600M回车==>beginning回车
创建逻辑分区2:选free空闲空间==> n新建==>l逻辑分区==>600M回车==>beginning回车==>W保存==>yes回车==>q键退出
查分区表信息:lsblk

练习要求:将sdb硬盘的第1个分区格式化成ext4文件系统,将第1、2个逻辑分区格式化成xfs文件系统。将第1个分挂载到/mnt/data目录中,将第1、2个逻辑分区分别挂载到/mnt/mysql、/mnt/web目录中。分别往分区的挂载点目录中写入一些数据。
查分区表信息:lsblk
格式化分区:mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb5
mkfs.xfs /dev/sdb6
创建挂载点目录:mkdir -pv /mnt/{data,mysql,web}
手动挂载:mount /dev/sdb1 /mnt/data
mount /dev/sdb5 /mnt/mysql
mount /dev/sdb6 /mnt/web
写入数据:touch /mnt/data/{a1.txt,b1.mp3}
mkdir -pv /mnt/mysql/{haha,hehe}
cp -v /etc/host* /mnt/web/
递归显示文件名列表:ls -R /mnt/{data,mysql,web}

课堂练习:参考sdb硬盘的操作,将sdc、sdd硬盘分区的文件系统卸载掉,删除sdc、sdd硬盘的分区表,再做同样的分区、格式化、手动挂载、写入文件操作。


fstab自动挂载:
mount手动挂载的缺点:当系统重启后,用户必须重新手动将分区的文件系统挂载到指定的目录。但是用户可以将mount手动挂载的命令写到/etc/rc.d/rc.local开机运行脚本文件中,系统在启动时会自动执行rc.local脚本中的命令。

fstab自动挂载配置文件:fstab是file system table文件系统表的缩写。是用来记录磁盘分区设备自动挂载信息的配置文件。系统启动时会读取/etc/fstab文件中的挂载配置信息,并自动挂载里面的设备。

练习:查看/etc/fstab配置文件内容,熟悉fstab文件格式。
cat /etc/fstab 内容如下
分区设备 挂载点目录 文件系统类型(格式) 挂载选项 fsck检查 dump备份
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8b947ec7-6d78-4121-8a4c-7aaabf3a221e /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0

猜你喜欢

转载自blog.51cto.com/937761/2342965