@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
=Linux 下的磁盘管理=====
=== linux启动后,fdisk 工具的使用 ===================
fdisk -l 查看系统的磁盘信息(容量,分区类型,柱面)
df -h 能看到已经挂载的磁盘信息(容量,挂载点,使用量等)
虚拟机,增加一块虚拟磁盘:-------------
关机 -- 插入新盘 --(BIOS)-- fdisk 管理
fdisk -l
RHEL-6 按照 柱面 划分 分区。
RHEL-7 按照 扇区编号,更加细致的 划分分区。
头部起始位置: 0磁头 0柱面 1扇区= 512 B
MBR=Master Boot Record 主引导记录。
446 ===》引导程序 grub -- grub2 Windows ntldr
64 ===》分区表信息==============》sdb1 2048 -------- 1022982 ⇒ 16字节
2 ===》结束 sdb2
sdb3
sdb4 19992202 只能记录 4 个 (主分区 , 逻辑分区,扩展分区)
|
| 指针
19992202 512 字节
sdb5 5200010 -------- 5280010 16字节
sdb6
sdb7
什么 叫 磁盘 的 分区表 ?
标记 每一个磁盘分区的 起始位置,以及结束位置的 信息的表
fdisk -l df -h mount
偏重磁盘本身 简易,使用量 详细的挂载参数。
需求:
添加一块 磁盘 sdb , 10G, 磁盘文件必须跟 虚拟机共同存放。用户 fdisk 工具 分区
5个分区 1 2 3 5 6 每个分区 1G, 格式化为 ext4 文件系统。
将其中 1 2 3 分区 挂载在 /d1 /d2 /d3 下,并向其中 写入 一些数据。
要求设置 三个分区,能够自动挂载 ,
推荐 , /etc/rc.d/rc.local 记住 查看 这个脚本的 执行权限。
第一步:在设置中添加一个10G的硬盘
利用fdisk对sdb进行分区:===========================
=== fdisk /dev/sdb
Command (m for help):
p print the partition table 打印分区表
n add a new partition 新增分区表
d delete a partition 删除分区表
l list known partition types 列出已知的 分区类型
w write table to disk and exit 将分区表写入磁盘
t change a partition's system id 修改磁盘 ID 标识符号
Command action
e extended
p primary partition (1-4)
====== 分区ID标识符 和 分区实际的文件系统的关系 ====
Blocks Id System
987966 83 Linux
82 linux swap
83 linux 标准存储数据分区
8e linux LVM
5 extaned 扩展分区
分区ID标识符 和 分区实际的文件系统 之间 没有 任何直接的关系。
ID标识符----实际文件系统类型
== 分区完成, w 写入,写入之后,需要重新载入分区表。===============
Calling ioctl() to re-read partition table
确认一下 /dev/ 下,有没有相应的分区设备 ls /dev/sdb* /dev/sdb /dev/sdb1 /dev/sdb2 。。。。
== 正式挂载使用之前,记得要格式化:==================
格式化 ? 做了什么事情? mkfs make file system
格式化的对象? 分区设备 /dev/sdb1
什么叫文件系统 ?
文件数据 在一个分区内,以何种 方式 存取 文件 的 规则。 就叫 文件系统。
格式化:建立文件系统的过程。
== 使用命令: mkfs make file system 建立文件系统
mk 系列的子命令 mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.xfs
mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb2
mkfs -t 可以调用相应的子命令。
=== 建立空目录,挂载使用:=============================
mount /dev/sdb1 /d1
mount /dev/sdb2 /d2
mount /dev/sdb3 /d3
umount 解除挂载关系。 卸载。(数据分区没有被使用)
@@@@ df -h 查看, 尝试写入数据,验证成功!
@@@@ 该次挂载在重启后就会失效 @@@@
=== 开机自动挂载设备 /etc/fstab ==============================
/dev/sdb1 设备路径标识 : cd /dev 看到
UUID 唯一编号标识 : blkid /dev/sdb1
e2label 命令 设置 和 查询 设备的 卷标。
方法一(推荐) --------------------------------------------------------------------
将挂载命令写入到 /etc/rc.d/rc.local 文件中。
RHEL-6 可以直接使用 /etc/rc.d/rc.local
RHEL-7 必须先手动给 /etc/rc.d/rc.local 添加执行权限
mount -o defaults /dev/sdb1 /d1 临时指定参数来挂载
方法二, /etc/fstab 文件 ---------------------------------------------------------
设置设备的自动挂载,并且能够设置设备的检测动作,以及其他的挂载参数
vim /etc/fstab
LABEL=apache /web ext3 defaults 1 2
设备 挂载点 文件系统类型 挂载参数 是否开机检测 检测顺序
1、LABEL 标签: 查看设备的标签: e2label /dev/sdc5
设置设备的标签: e2label /dev/sdc5 APACHE
格式化后标签会消失
@@@ 查看分区的文件系统类新, df -hT @@@
2、设备名:/dev/XXXX (有可能启动顺序改变,设备名改变)
3、UUID: 查询设备的UUID号:
dumpe2fs /dev/sdc5 | grep UUID
blkid (能看到已经挂载的设备的 UUID,文件系统类型)
[root@server-11 ~]# blkid /dev/sdb1
/dev/sdb1: UUID=“05758150-9500-4f91-86ff-1ccf4bf629fe” TYPE=“ext4”
== ACL : xfs ext4 setfacl -m u:liubei:rwx -m m: -x -b ls -l + group ( mask 附加所有者,所有的组 )
== sudo visudo – /etc/sudoers
defaults: log time
user host=(身份) cmd1 -l /etc/passwd , cmd2, cmd3
Cmnd_Alias HTTP_ADMIN = cmd1,cmd2,cmd3
liubei 192.168.10.18=HTTP_ADMIN,cmd4
sudo cmd1 要求输入 密码 5分钟
== 扇区 最小存储单元 (512字节) sector 磁道 track 磁头 headers 柱面 cylinders
== fdisk 命令 df -h 增删改查 n d t p w
主分区 扩展分区 逻辑分区
逻辑分区 与 主分区的区别: 主分区 可以引导系统
MBR 0 0 1扇区 1-2047 2048 sda1
512 字节 446 引导程序 grub
64 主分区表信息 -------- 分区 16字节 4个主分区
2 结束标志
== mkfs -t mkfs.ext4 mkfs.xfs
建立文件系统的过程。 1% data block 总数 inodes 总数 ====== 文件系统 ------- 数据块 block 4096 4字节
4096 字节
== 挂载 : /dev/sdb1 卷标 UUID
UUID blkid /dev/sdb1
e2lable
/etc/fstab /etc/rc.d/rc.local 脚本
dumpe2fs 查看ext系列文件系统的 详细信息。 包含 UUID LABEL