一、查看系统中的设备
1、发现系统中的设备
fdisk -l ## 查看系统中真实存在的设备
cat /proc/partitions ##查看系统中被系统识别的设备
2、blkid ##系统发现的,并系统利用的,有id信息的设备
3、发现并且在挂载的设备
df -h
df -H
二、设备名称的理解
/dev/sda1 ##sata硬盘,或者iscsi网络存储(v表示虚拟硬盘,h表示ide硬盘,一般出现在老式电脑中)a1表示第一块硬盘中的第一个分区
/dev/cdrom ##光驱
/dev/mapper/* ##系统中的虚拟设备
三.解除u盘的占用
umount /dev/sdb1
mount /dev/sdb1 /mnt/
cd /mnt
打开另一个shell
umount /mnt/
umount: /mnt: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
fuser -kvm /dev/sdb1 ##强制解除U盘占用
USER PID ACCESS COMMAND
/dev/sdb1: root kernel mount /mnt
root 4107 ..c.. bash
root 5032 ..c.. bash
umount /dev/sdb1
四.改变对u盘的操作权限
[root@foundation16 ~]# umount /dev/sdb1
[root@foundation16 ~]# mount /dev/sdb1 /mnt/
[root@foundation16 ~]# cd /mnt
[root@foundation16 mnt]# touch file
[root@foundation16 mnt]# ls
[root@foundation16 mnt]# rm -fr file
[root@foundation16 mnt]# cd
[root@foundation16 ~]# umount /dev/sdb1
[root@foundation16 ~]# mount -o ro /dev/sdb1 /mnt/ ##使u盘只读
[root@foundation16 ~]# touch /mnt/file
[root@foundation16 ~]# mount -o remount,rw /dev/sdb1 ##使u盘从只读变为rw
[root@foundation16 ~]# touch /mnt/file
[root@foundation16 ~]# ls /mnt
[root@foundation16 ~]# rm -fr /mnt/file
五.分区的划分
[root@localhost ~]# fdisk /dev/vdb ##进入划分区
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x52ca37e8.
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 ##删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
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 ##修改分区id
u change display/entry units
v verify the partition table
w write table to disk and exit ##将当前操作写入硬盘分区(如不w保存,则之前分区操作不被记录)
x extra functionality (experts only)
Command (m for help): n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ## 分区类型 p主分区
e extended e ##扩展分区
Select (default p): p ## 选择主分区
Partition number (1-4, default 1): 1 ##选择主分区编号
First sector (2048-20971519, default 2048):## 设置起始扇区 默认2048开始
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M ##设置终止扇区
Partition 1 of type Linux and of size 100 MiB is set##建立成功
Command (m for help): wq##保存推出,如果wq表示放弃更改退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# partprobe##同步分区表
[root@localhost ~]# cat /proc/partitions##查看系统识别的分区信息
六.设定分区方式为gpt
[root@localhost ~]#umount /mnt/ ##删除之前分区
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# parted /dev/vdb
[root@localhost ~]# fdisk /dev/vdb
mkfs.xfs /dev/vdb##格式化挂载文件
mount /dev/vdb /mnt ##临时挂载
七.永久挂载
vim /etc/fstab ##永久挂载
mount -a #使/etc/fstab中记录的挂载策略生效
八.swap分区
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# cat /proc/partitions ##查看这个分区的信息
[root@localhost ~]# partprobe ##手动刷新分区信息
[root@localhost ~]# cat /proc/partitions
[root@localhost ~]# mkswap /dev/vdb2 ##格式化/dev/vdb2分区
[root@localhost ~]# swapon -a /dev/vdb2 ##启动/dev/vdb2分区swap装置
[root@localhost ~]# swapon -s ##显示swap分区
[root@localhost ~]# vim /etc/fstab ##永久挂载
[root@localhost ~]# swapon -a ##使/etc/fstab中记录的挂载策略生效
九.删除swap分区
[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# swapoff /dev/vdb2
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# partprobe
十.磁盘加密
fdisk /dev/vdb ## 新建一个磁盘
cryptsetup luksFormat /dev/vdb1 ## 给这个磁盘设置磁盘加密,并设置密码
cryptsetup open /dev/vdb1 westos ## 将这个加密磁盘打开
mkfs.xfs /dev/mapper/westos ## 格式化磁盘
mount /dev/mapper/westos /mnt/ ## 将该磁盘挂载
umount /mnt/ ##卸载磁盘
cryptsetup close westos ## 关闭加密磁盘
十.加密磁盘开机自动挂载
[root@localhost ~]# vim /root/diskpass ##写入磁盘密码
[root@localhost ~]# chmod 600 /root/diskpass ## 将磁盘权限设置成只对超级用户可操作
[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/diskpass## 告诉系统加密磁盘的密码指定
Enter any passphrase:
[root@localhost ~]# vim /etc/crypttab ## 写入磁盘名称,磁盘设备,以及磁盘密码所在文件
[root@localhost ~]# vim /etc/fstab ##修改配置文件
[root@localhost ~]# df
[root@localhost ~]# umount /mnt/
[root@localhost ~]# reboot
[root@localhost ~]# df
十一.取消开机自动挂载
[root@localhost ~]# vim /etc/fstab ##删除掉配置文件里面的设定
[root@localhost ~]# vim /etc/crypttab ##删除里面的内容指定
[root@localhost ~]# rm -fr /root/diskpass ##删除密码文件
[root@localhost ~]# umount /mnt/ ##卸载挂载
[root@localhost ~]# cryptsetup close linux ##关闭加密磁盘
[root@localhost ~]# mkfs.xfs /dev/vdb1 ##格式化加密磁盘
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f ##加密此番格式化需要加-f
十二.磁盘阵列
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# watch -n 1 cat /proc/mdstat ##重新开启一个shell
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
[root@localhost ~]# mkfs.xfs /dev/md0
[root@localhost ~]# mount /dev/md0 /mnt/
十三.设备管理
mdadm -f /dev/md0 /dev/vdb1 ##强行损坏
mdadm -D /dev/md0 ##查看状态
mdadm -r /dev/md0 /dev/vdb1 ##删除
mdadm -a /dev/md0 /dev/vdb1 ##添加
umount /mnt/
mdadm -S /dev/md0##停止
十四.配额
[root@localhost ~]# mount -o usrquota /dev/vdb1 /mnt/##挂载,加上配额参数打开,默认是关闭的,加-o
[root@localhost ~]# edquota -u student ##打开配置额文件
[root@localhost ~]# su - student
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=21
[student@localhost ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=20
[student@localhost ~]$ exit
logout
[root@localhost ~]# vim /etc/fstab ##开机自动配额
十五.lvm建立
[root@localhost ~]# watch -n 1 'pvs;vgs;lvs;df -h /mnt' ##此实验所需要的监控命令
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# fdisk /dev/vdb
[root@localhost ~]# partprobe
[root@localhost ~]# pvcreate /dev/vdb1 ##创建物理卷
[root@localhost ~]# vgcreate vg0 /dev/vdb1 ##创建物理卷组
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0 ## 在vg0这个组中建立出lv0设备 -L指定设备大小 -n 指定设备名字
十六.lvm设备的扩大
针对xfs文件系统
[root@localhost ~]# lvextend -L 500M /dev/vg0/lv0 ##扩大lvm设备到500M
[root@localhost ~]# xfs_growfs /dev/vg0/lv0 ##扩大xfs文件系统到设备大小
[root@localhost ~]# pvcreate /dev/vdb2 ##在pv中增加一块设备/dev/vdb2
[root@localhost ~]# vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2添加到vg0中
[root@localhost ~]# lvextend -L 1500M /dev/vg0/lv0
[root@localhost ~]# xfs_growfs /dev/vg0/lv0
针对ext文件系统
1)lvm扩大
[root@localhost ~]# lvextend -L 1800M /dev/vg0/lv0 ##扩大设备到1800M
[root@localhost ~]# resize2fs /dev/vg0/lv0 ##设定文件大小和设备同步
2)lvm 缩减
[root@localhost ~]# umount /mnt/ ##卸载设备,因为文件系统不支持在线操作
[root@localhost ~]# e2fsck -f /dev/vg0/lv0 ##检测文件系统,确定文件系统中已有数据大小防止过度缩减
[root@localhost ~]# resize2fs /dev/vg0/lv0 1000M ##把文件系统缩减到1G
[root@localhost ~]# mount /dev/vg0/lv0 /mnt/
[root@localhost ~]# lvreduce -L 1000M /dev/vg0/lv0 ##设备缩减到1G
缩减vg
[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2 ##把设备1上的所有数据移动到设备2上
[root@localhost ~]# vgreduce vg0 /dev/vdb1##把vg0中的/dev/vdb1删除
[root@localhost ~]# pvremove /dev/vdb1##把/dev/vdb1上的lvm管理信息删除
lvm快照
[root@localhost ~]# lvcreate -L 20M -n lv0backup -s /dev/vg0/lv0##创建快照,-L指定快照大小,-n指定快照名字,-s指定快照模板设备
[root@localhost ~]# mount /dev/vg0/lv0backup /mnt/
##当快照设备的数据被更改,如果想还原,删除快照设备,在重新建立快照即可
lvm删除
[root@localhost ~]# lvremove /dev/vg0/lv0backup
[root@localhost ~]# lvremove /dev/vg0/lv0
[root@localhost ~]# vgremove vg0
[root@localhost ~]# pvremove /dev/vdb2
更多推荐
管理系统存储
发布评论