目录
磁盘管理
认识存储
硬盘分为:
机械HDD和固态SSD
第一,SSD不需要机械结构,完全的半导体化,不存在数据查找时间、延迟时间和磁盘寻道时间,数据存取速度快。
第二,SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。
第三,得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。
第四,质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。同时因其完全半导体化。
无结构限制,可根据实际情况设计成各种不同接口、形状的特殊电子硬盘。
存储连接方式:
本地存储
外部存储
网络存储
磁盘分区方式:
MBR:
分区工具:fdisk
GPT:
分区工具:gbisk
yum -y install gdisk #安装分区工具
基本分区:
查看磁盘设备分区:lsblk
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 6G 0 disk
sdc 8:32 0 6G 0 disk
sr0 11:0 1 4.4G 0 rom
如果分区后无法发现分区结果,请刷新分区表后再次查看
[root@localhost ~]# partprobe [磁盘] 刷新全部分区[某块磁盘]
fdisk分区
gbisk分区:
格式化 mkfs.(默认xfs) -f
[root@localhost ~]# mkfs.ext4 分区名 格式化成ext4格式的文件系统
[root@localhost ~]# mkfs.xfs 分区名 格式化成xfs格式的文件系统
示例:
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=393152 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1572608, 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=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
挂载 mount
用法:mount [-o ro/rw] 分区名 需要挂载目录 -o指定权限(ro 只读;rw 读写)
示例:
将sdb1挂载到/opt/gsdb1
[root@localhost ~]# mount /dev/sdb1 /opt/gsdb1/
查看磁盘挂载与磁盘使用空间 df-Th
示例:
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 475M 0 475M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.7M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 6.8G 11G 40% /
/dev/sda1 xfs 1014M 169M 846M 17% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 xfs 6.0G 33M 6.0G 1% /opt/gsdb1
取消挂载 umount
用法:umount [-l] 被挂载的目录 -l:强制取消,但不推荐
示例:
[root@localhost ~]# umount /opt/gsdb1
fstab开机自动挂载
[root@localhost ~]# blkid #首先查看uuid和系统文件类型
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# mount -a #自动挂载
lvm逻辑卷
使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
基本分区(MBR|GPT) ---->格式化(制作文件系统类型) ----> mount(挂载)
逻辑卷LVM ---->格式化(制作文件系统类型) ----> mount(挂载)
查看
简单: pvs vgs lvs // pvscan vgscan lvscan
详细: pvdisplay vgdisplay lvdispaly
实战
创建pv物理卷 pvcreate
用法:pvcreate PV
[root@测试 ~]# pvcreate /dev/sdb #创建pv物理卷(可以是/dev/sdb这种没有分区的也可以是/dev/sdb1这种已经分区了的)
[root@测试 ~]# pvs #查看pv
[root@测试 ~]# pvscan #查看pv
[root@测试 ~]# pvdisplay PV
创建vg卷组 vgcreate
用法:vgcreate VG_new PV
[root@测试 ~]# vgcreate vg1 /dev/sdb #创建vg
[root@测试 ~]# vgs #查看vg卷组
[root@测试 ~]# vgscan
[root@测试 ~]# vgdisplay centos
创建lv lvcreate
用法:lvcreate -n LV_new VG -L sizeM/G
[root@测试 ~]# lvcreate -n lv1 /dev/vg1 -L 10G #创建lv
[root@测试 ~]# lvs
[root@测试 ~]# lvscan
[root@测试 ~]# lvdisplay
格式化并挂载
[root@测试 ~]# mkfs.xfs /dev/vg1/lv1 #xfs格式化
[root@测试 ~]# mkfs.ext4 /dev/vg1/lv1 #ext4格式化
[root@测试 ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@测试 ~]# df -Th
lvm逻辑卷扩容
扩容VG vgextend vg没有空间
1.创建PV
[root@测试 ~]# pvcreate /dev/sdc
2. 直接vgextend扩容
[root@测试 ~]# vgextend vg1 /dev/sdc #vg1卷组名字,将/dev/sdc扩展到vg1中
[root@测试 ~]# vgs
扩容lv lvextend vg有空间
[root@测试 ~]# vgs #查看
[root@测试 ~]# lvextend -l +15 /dev/vg1/lv1 #在原有基础上加15个PE
[root@测试 ~]# lvs
FS(file system)文件系统扩容(再次格式化)
[root@测试 ~]# xfs_growfs /dev/vg1/lv1 #xfs扩容
[root@测试 ~]# resize2fs /dev/vg1/lv1 #ext4扩容
交换分区管理swap 虚拟内存
查看当前交换分区
[root@测试 ~]# free -m
[root@测试 ~]# swapon -s
增加交换分区
使用基本分区
[root@测试 ~]# fdisk /dev/sdd #分一个主分区
[root@测试 ~]# partprobe #刷新分区表
[root@测试 ~]# mkswap /dev/sdd1 #初始化
[root@测试 ~]# blkid /dev/sdd1 #查看uuid
[root@测试 ~]# vim /etc/fstab #制作开机挂载
/dev/sdd1 swap swap defaults 0 0
[root@测试 ~]# swapon -a #重新读取
[root@测试 ~]# swapon -s #查看
[root@测试 ~]# swapoff /dev/sdd1 #关闭swap分区
使用file制作
[root@测试 ~]# dd if=/dev/zero of=/swap2.img bs=1M count=512
解释:dd 读入 从空设备里面拿空块 到交换分区 一块多大 一共多少块
[root@测试 ~]# mkswap /swap2.img #初始化
[root@测试 ~]# vim /etc/fstab
/swap2.img swap swap defaults 0 0
[root@测试 ~]# swapon -a
[root@测试 ~]# swapon -s
使用lvm制作
[root@测试 ~]# pvcreate /dev/sdb2 #创建PV
[root@测试 ~]# vgextend centos /dev/sdb2 #扩容VG
[root@测试 ~]# lvextend -l +511 /dev/centos/swap #扩容LV
[root@测试 ~]# swapoff /dev/centos/swap #关闭swap
[root@测试 ~]# mkswap /dev/centos/swap #初始化
[root@测试 ~]# swapon /dev/centos/swap #开启swap
mount详解
用法:mount -o [选项] 源 挂载点
rw 读写
ro 只读
noexec 不允许执行二进制文件
exec 允许执行二进制文件
auto ==mount -a 开机自动挂载
remount 在线重新挂载
[root@测试 ~]# mount -o noexec /dev/vg1/lv2 /mnt/lv2 #不允许执行*二进制文件
[root@测试 ~]# umount 挂载点 #取消挂载