存储是每个计算机的基本需求。RedHat Linux 提供了一些强大的工具,他们能在大量的场景中管理多种类型的存储设备

1.本地存储设备的识别

fdisk -l ##真实存在的设备

cat /proc/partitions ##系统识别的设备

blkid ##系统可使用的设备

df ##系统正在挂载的设备

1.设备名称

/dev/xdx ##/dev/hd0 dev/hd1 /dev/sda /dev/sda1

/dev/sda2 /dev/sdb /dev/sdb1

/dev/sr0 ##光驱

/dev/mapper/* ###虚拟设备

2.设备的挂载

mount 设备 挂载点

mount /dev/sdb1 /mnt ##挂载sdb1到mnt

umount /mnt ##卸载

mount -o ro /dev/sdb1 /mnt ##只读挂载(无法写入)

mount ##查看挂载信息

mount -o remount,rw /dev/sdb1 ##重新读写挂载

3.解决设备正忙情况

当有程序使用此设备时,无法直接卸载设备

方法1

fuser -kvm /mnt

umount /mnt

方法2

losf /mnt

kill -9 xxxxx

umount /mnt

3.磁盘分区

1. 分区简介

硬盘0磁道1扇区的的512个字节中记录的信息如下

512=446 + 64 + 2

mbr(主引导记录) mpt(主分区标) 55aa(硬盘的有效性标示)

硬盘分区表

64

1个分区占用16个字节

一个硬盘最多可以划分4个主分区

其中最后一个为扩展分区,剩下的都会在扩展分区里,在扩展分区里划分逻辑分区

2.分区步骤

1.fdisk -l

2.fdisk /dev/vdb

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

u change display/entry units

v verify the partition table

w write table to disk and exit--------->保存

x extra functionality (experts only)

1.建立主分区

Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)-------->主分区

e extended------------->扩展分区

Select (default p): p

Partition number (1-4, default 1): 1------->分区数

First sector (2048-20971519, default 2048): 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

2.建立扩展分区

Command (m for help): n

Partition type:

p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e): e

Selected partition 4

First sector (616448-20971519, default 616448):

Using default value 616448

Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519): --------->默认剩余的空间全给扩展分区

Using default value 20971519

Partition 4 of type Extended and of size 9.7 GiB is set

3.建立逻辑分区

逻辑分区即在扩展分区内

Command (m for help): n

All primary partitions are in use

Adding logical partition 5

First sector (618496-20971519, default 618496):

Using default value 618496

Last sector, +sectors or +size{K,M,G} (618496-20971519, default 20971519): +500M

Partition 5 of type Linux and of size 500 MiB is set

Command (m for help): w-------->保存

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

保存后查看分区信息

[root@localhost ~]# cat /proc/partitions

major minor #blocks name

253 0 10485760 vda

253 1 10484142 vda1

253 16 10485760 vdb

253 17 102400 vdb1

253 18 102400 vdb2

253 19 102400 vdb3

253 20 1 vdb4------->此为扩展分区,只有1kb,只作为容器,无法使用

253 21 512000 vdb5

4.给设备安装文件系统

ext3 rhel5及之前的版本 最多支持32TB的文件系统和2T的文件,实际12TB文件系统,16G文件

ext4 rhel6 1EB 16TB

xfs rhel7 18EB 9eB 7G/s 4G/s

mkfs.xfs /dev/vdb1 ##格式化

mount /dev/vdb1 /mnt

vim /etc/fstab

设备 挂载点 文件系统 挂载参数 是否备份 是否检测

/dev/vdb1 /mnt xfs defaults 0 0

mount -a 开机即可自动挂载

5.swap分区管理

1.swap分区建立

划分分区并设定分区标签为82

1.mkswap /dev/vdb3

2.swapon -a /dev/vdb3

3.swapon -s

4.vim /etc/fstab

/dev/vdb3 swap swap defaults 0 0 ##即可开机自动挂载

2.swap分区删除

1.vim /etc/fstab ##删掉自动挂载

2.swapoff /dev/vdb ##删除swap分区

3.swapon -s

6.配额

配额是针对设备的

mkdir /pub

mkfs.xfs /dev/vdb6 ##格式化

mount /dev/vdb6 /pub

chmod 1777 /pub-------->挂载后再修改权限否则挂载后依然是原来的权限

umount /pub

mount -o usrquota /dev/vdb6 /pub-------->打开用户配额挂载

Disk quotas for user student (uid 1000):

Filesystem blocks soft hard inodes soft hard

/dev/vdb6 0 0 20480 0 0 0

文件大小软限制 硬限制 文件个数 个数软限制 个数硬限制

su - student ##切换到student测试

截取文件测试

dd if=/dev/zero of=/pub/studentfile bs=1M count=3

dd if=/dev/zero of=/pub/studentfile bs=21M count=3

7.磁盘加密

cryptsetup luksFormat /dev/vdb3---------> 加密(会覆盖原文件内容)

WARNING!

========

This will overwrite data on /dev/vdb3 irrevocably.

Are you sure? (Type uppercase yes): YES------->要用大写

Enter passphrase: ------->密码六位以上的字母和数字组合

Verify passphrase:

cryptsetup open /dev/vdb3 westos-------->打开锁(westos为这个锁的名字)

Enter passphrase for /dev/vdb3:------>输入密码

mkfs.xfs /dev/mapper/westos-------->格式化

mount /dev/mapper/westos /mnt------->挂载

touch /mnt/file{1…8}--------->建立文件

umount /mnt------->卸载

cryptsetup close westos------->关锁

此时即将vdb3相当于锁在了一个盒子里,只有重新输入密码打开锁方可重新挂载

加密磁盘开机自动挂载

1.vim /etc/fstab-------->开启自动挂载

/dev/mapper/westos /mnt xfs defaults 0 0

vim /etc/crypttab--------->读取密码的方式

westos /dev/vdb3 /root/westoskey

3.vim /root/westoskey------>密码文件

westos2019

4.cryptsetup luksAddKey /dev/vdb3 /root/westoskey

即自动挂载

5.reboot后df查看

取消加密设备

vim /etc/fstab----->注释掉自动挂载

umount /mnt------>卸载

cryptsetup close westos------>关锁

mkfs.xfs /dev/vdb3 -f-------->强制格式化

此时vdb3便不被加密,恢复正常

8.lvm

1.lvm建立

pv ##物理卷

被lv命令处理过的物理分区

vg ##物理卷组

被组装到一起的物理卷

pe ##图里扩展

lv设备的最小存储单元lvm是pe的整数倍

lvm ##逻辑卷

直接使用的设备,可以增大缩减并保持原有数据不变

1.分区时定分区标签为8e

2.打开监控命令

watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt"

3.

pvcreate /dev/vdb5 ##建立物理卷

pvcreate /dev/vdb6

4.

vgcreate vg0 /dev/vdb5 ##建立物理卷组

vgextend vg0 /dev/vdb6

5.

lvcreate -L 20M -n lv0 vg0 ##建立lvm

6.

mkfs.xfs /dev/vg0/lv0 ##格式化为xfs文件系统

mount /dev/vg0/lv0 /mnt ##挂载

df -H /mnt ##查看lvm大小(H1000k为1M,h1024k为1M)

2.lvm的拉伸

1.watch -n 1 "pvs;echo ===;vgs;echo ===;lvs;echo ===;df -h /mnt" ##打开监控

2.lvextend -L 800M /dev/vg0/lv0 ##lvm拉伸,总量不可超过vg0

3.xfs_growfs /dev/vg0/lv0 ##xfs文件系统的扩展

若vg0不够,则添加

1.fdisk /dev/vdb ##建立新的分区

2.partprobe ##同步分区

3.pvcreate /dev/vdb7 ##添加物理卷

4.vgextend vg0 /dev/vdb7------->扩大物理卷组

5.lvextend -L 1400M /dev/vg0/lv0 ##拉伸到1500M

6.xfs_growfs /dev/vg0/lv0 ##扩展文件系统容量

3.lvm缩减

xfs文件系统无法缩减

1.umount /mnt ##卸载/dev/vg0/lv0

2.mkfs.ext4 /dev/vg0/lv0 ##转换文件系统

3.e2fsck -f /dev/vg0/lv0 ##检测改设备是否安全

4.resize2fs /dev/vg0/lv0 1000M ##将文件系统缩减到1000M

5.mount /dev/vg0/lv0 /mnt ##重新挂载后查看

6.lvreduce -L 1000M /dev/vg0/lv0 ##将逻辑卷缩减到1000M

7.pvmove /dev/vdb7 /dev/vdb6 ##将物理卷7数据移入物理卷6

8.vgreduce vg0 /dev/vdb7 ##移出物理卷7

9.pvremove /dev/vdb7 ##删除物理卷7

4.lvm快照

lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0

示例

1. ls /mnt

2.touch /mnt/file{1..8}

3.ls /mnt

4.umount /mnt

5.ls /mnt

6.lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##快照

7.mount /dev/vg0/lv0_snap /mnt ##挂载快照

8.ls /mnt

若快照损坏,则删除后重新建立即可

1.rm -fr /mnt/*

2.ls /mnt

3.umount /mnt

4.lvremove /dev/vg0/lv0_snap ##删除有问题的快照

5.lvcreate -L 50M -n /dev/vg0/lv0_snap -s /dev/vg0/lv0 ##重新建立快照

6.mount /dev/vg0/lv0_snap /mnt ##挂载新建的快照

7.ls /mnt

5.lvm删除

1.umount /mnt ##卸载

2.lvremove /dev/vg0/lv0_snap ##删除快照

3. lvremove /dev/vg0/lv0 ##删除逻辑卷

4.vgremove vg0 ##删除物理卷组

5.pvremove /dev/vdb5 ##删掉物理卷

6.pvremove /dev/vdb6

7.pvremove /dev/vdb7

8.fdisk /dev/vdb ##删除分区

9.fdisk -l

存储设备在linux名称,Linux下的存储设备的管理相关推荐

  1. Linux、UNIX 下磁带机设备(Tape)的管理和使用(转自互联网)

    磁带机简介     目前市场上有很多自称是"完美的系统备份选择"的设备,包括磁带机,便携式磁盘驱动器,甚至还有一些神秘的Internet备份系统.对于备份操作来说,还是磁带机提供了 ...

  2. Linux、UNIX 下磁带机设备(Tape)的管理和使用

    磁带机简介     目前市场上有很多自称是"完美的系统备份选择"的设备,包括磁带机,便携式磁盘驱动器,甚至还有一些神秘的Internet备份系统.对于备份操作来说, 还是磁带机提供 ...

  3. linux怎样标识空设备,Linux系统命令------Ubuntu下解决adb设备列表为空

    1:sudo apt-get install adb 安装adb工具 手机打开开发者选项 2:adb devices 解释一下这一行输出 Bus 001 表示第一个USB主控制器(HOST) , 可以 ...

  4. 【Linux】Linux 文件系统与设备文件

    Ref: <Linux设备驱动开发详解:基于最新的Linux4.0内核>中的第5章<Linux 文件系统与设备文件> 基于Linux 5.10   本文结合源码和实例分析了Li ...

  5. Linux 驱动开发 三:字符设备驱动框架

    一.参考 (3条消息) Linux 字符设备驱动结构(一)-- cdev 结构体.设备号相关知识解析_知秋一叶-CSDN博客 (3条消息) linux设备驱动框架_不忘初心-CSDN博客_linux设 ...

  6. 蓝桥云课linux入门3:用户及文件权限管理

    内容转自蓝桥云课 目录 1.内容 2.Linux用户管理 2.1查看用户 2.2创建用户 2.3用户组 将其它用户加入 sudo 用户组 2.4删除用户和用户组 3.Linux文件权限 3.1查看文件 ...

  7. 安卓(android)6.0高通平台下设备树专题视频讲解【全国独家+设备树视频教程】

    安卓(android)6.0高通平台下设备树专题视频讲解[全国独家+设备树视频教程]                                                      独家拥有 ...

  8. linux查看usb设备名称,Linux系统下查看USB设备名及使用USB设备

    1.系统插入USB设备后,从控制台界面有如下提示: 从控制台信息可以看出插入的USB设备名. 从上图可以看出,插入的USB设备为sde4. 但是,如果是CRT工具远程连接过去,可以使用下面的命令来查看 ...

  9. linux判断usb进程命令,一种在Linux系统下审计USB设备历史使用情况的方法与流程...

    本发明涉及计算机审计技术领域,具体涉及一种在Linux系统下审计USB设备历史使用情况的方法. 背景技术: 如今,在linux系统中,对于USB设备的插入拔出事件,系统自身是不带有审计功能的,这使得普 ...

  10. Linux单用户下提示权限不够,Linux_/dev/null 权限不足,/dev/null文件设备的权限不对, - phpStudy...

    /dev/null 权限不足 /dev/null文件设备的权限不对,会造成诸如pop3中的:Starting POP3d: ll_daemon_resetio: Permission denied的错 ...

最新文章

  1. ​我国科学家成功研制全球神经元规模最大的类脑计算机
  2. 包云岗:关于RISC-V成为印度国家指令集的一些看法
  3. shell实例第7讲:awk命令
  4. Vxworks信号量分析
  5. python对象模型_[译] 用 Python 实现一个最简单的对象模型
  6. php 系统交互 删除文件_FileSystemMap:与文件系统交互的自然方法
  7. php ajax json 实例,php+ajax+json 详解及实例代码
  8. Android无线测试之—UiAutomator UiObject API介绍二
  9. 我的天!我靠这个拥有了自己第一架无人机!
  10. java中的多对多关系解析_Java中多对多映射关系(转)
  11. 剑指 Offer——和为 S 的两个数字
  12. Memcached总结四:用ava程序连接memcached进行操作
  13. USB协议详解第28讲(USB硬件设计和热拔插原理)
  14. 极限编程和极限编程方法采用的有效的开发实践
  15. 阿里巴巴图标库字体iconfont旋转
  16. 文件二维码制作生成网站
  17. jav学习笔记-String源码分析
  18. 项目管理必备的软件,实用方便
  19. 【Unity】UGUI控件大小适配父容器
  20. 维基解密:攻击 Mac/Linux 的CIA三款工具

热门文章

  1. 易会满重磅发声!新证券法将给资本市场带来哪些新变化?证监会职责定位有何新要求?...
  2. ZStack 3.6.0发布:支持云主机从KVM云平台在线迁移至ZStack
  3. 【优化算法】寄生-捕食算法(PPA)【含Matlab源码 1801期】
  4. 【数据融合】基于matlab拓展卡尔曼滤波IMU和GPS数据融合【含Matlab源码 1600期】
  5. 毕设题目:Matlab电力负荷预测
  6. 例2.12 今年暑假不AC - 九度教程第22题(贪心算法)
  7. 红米note7html5测试,红米Note 7 Pro评测:千元王者名副其实
  8. vue中书写JSX一些坑-特殊属性名
  9. Delphi动态事件深入分析
  10. Cesium 显示CZML数据