您的位置:首页 > 运维架构 > Linux

llinux下系统磁盘管理(挂载,分区,格式化(文件系统));swap分区管理;磁盘配额;磁盘加密;磁盘阵列;nfs服务

2019-01-23 01:19 676 查看

1.系统磁盘管理

(1).本地存储设备的识别
fdisk -l           #真实存在的设备(不一定是系统识别)
[root@server94 ~]# cat /proc/partitions   #系统识别的设备
major minor  #blocks  name  磁盘名

253        0   10485760 vda
253        1   10484142 vda1
253       16   10485760 vdb
[root@server94 ~]# blkid  #系统可以使用的设备
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
df 查看系统正在挂载的设备
df -h  1K=1024
-H  1K=1000

df -h
Filesystem      Size  Used Avail Use% Mounted on
1            2    3     4    5      6
1:设备名称
2:设备的大小
3:已经使用的空间大小
4:剩余的空间大小
5:磁盘的使用率
6:磁盘挂载的目录

[root@server94 ~]# df -h  #以人易读的格式来显示
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        10G  3.0G  7.1G  30% /
devtmpfs        906M     0  906M   0% /dev
tmpfs           921M   80K  921M   1% /dev/shm
tmpfs           921M   17M  904M   2% /run
tmpfs           921M     0  921M   0% /sys/fs/cgroup

设备文件的位置为‘/dev’下
/dev/sda1
/dev/hda1
文件名的前两位为设备的类型 并口硬盘hd 串口硬盘或SCSI硬盘为sd
文件名的第三位为该类型的设备顺序号为abc..主盘hda 从盘hdb ;sda sdb;依次类推
文件名的第四位为该硬盘的分区号1~4,从5以后为逻辑分区 hda1 sda1
(2)设备的挂载和卸载
/dev/sdb1     #普通硬盘
/dev/sr0      #光驱
/dev/mapper/* #虚拟设别(用软件模拟出现的)
手动挂载
mount:是linux下的一个命令,将设备接入到linux的一个目录下,从而将设备和系统联系起来
mount   设备  挂载点
mount                 /dev/sdb1            /mnt
mount -o ro           /dev/sdb1            /mnt     #以只读的方式挂载
mount -o remount,rw   /dev/sdb1            /mnt     #以读写的形式重挂载
开机自动挂载新分区
[root@desktop144 ~]# vim /etc/fstab  #更改配置文件
设备名称             挂载点       文件系统的类型             挂载参数    是否备份     是否检测
/dev/vdb1           /mnt            xfs                 defaults      0           0

##fstable比rc.local快,在系统启动的时候,内核启动的时候,这个文件就会被优先读取,设备就会被挂载上
写完文件测试:
mount -a
卸载
umount  /mnt       #卸载/mnt挂载点
umount  出现设备正忙情况

fuser -vm  设备挂载点          #查看谁在用设备
fuser -kvm  设备挂载点         #查看并结束使用

或者:
lsof    设备挂载点           #查看
kill  -9  pid              #强行结束

1.1 磁盘分区

磁盘介绍
#1.磁盘0磁道1扇区的512字节的内容
512= 446 +  64  +  2
446:mbr(主引导记录)
64:mpt(主分区表)
2:磁盘的有效性标示

具体操作:

1.先用虚拟机图形管理添加磁盘

Add Hardware


2.开始分区
帮助菜单
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 ------------保存退出
x   extra functionality (experts only) ------扩展应用,专家功能
命令步骤
[root@desktop144 ~]#fdisk /dev/vdd   #磁盘分区
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.
Command (m for help): n      ##添加一个新的分区
Partition type:
p   primary (1 primary, 0 extended, 3 free)
e   extended
Select (default p): p
Partition number (1-4, default 1): 1  ##第1个
First sector (20970333-20971519, default 20970333):
Last sector, +sectors or +size{K,M,G} (20970333-20971519, default 20971519): +1G   #要分的大小
Command (m for help): p      #看一下是否成功
Disk /dev/vdd: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xb8cd6a0a

Device Boot      Start         End      Blocks   Id  System
/dev/vdd1            2048     2099199     1048576   83  Linux

Command (m for help): wq       #退出保存
[root@server94 yum.repos.d]# partprobe   #同步分区
[root@server94 yum.repos.d]# mkfs.xfs /dev/vdd1 #新分区格式化
注意:只有经过格式化的新分区才能使用

1.2 文件系统(格式化)

是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方式 操作系统中负责管理和存储文件信息的软件机构成为文件管理系统,简称文件系统 文件系统有三部分组成:与文件管理有关的软件,被管理的文件以及实施文件管理所需要的数据结构 从系统的角度看,文件系统就是对文件存储空间进行组织和分配,负责文件存储并第存入的文件进行保护和检索的系统
给设备安装文件系统
ext3   rhel5之前的版本
ext4   rhel6之前的版本
xfs    rhel7之前的版本

mkfs.xfs  /dev/vdb1    #对新分区进行格式化,然后挂载访问
mount /dev/vdb1 /mnt
=================================
[root@desktop144 ~]# mount -o usrquota /dev/vdc2 /mnt
mount: /dev/vdc2 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
[root@desktop144 ~]# mkfs.xfs /dev/vdc2  #格式化(铺层文件系统,让硬盘可使用)
=================================

1.3 swap分区管理

(1). swap分区:交换分区,系统自己使用,不需要挂载。需要创建后默认linux改为swap,然后格式化,挂载激活
(2).创建分区之后选择 t 修改分区,输入 l ,再输入 82 ,之后修改分区输入wq退出
[root@desktop144 ~]# partprobe     #同步分区表
[root@desktop144 ~]# mkswap /dev/vdb1   #将swap分区格式化
[root@desktop144 ~]# swapon -a /dev/vdb1  #激活swap分区,让系统识别
[root@desktop144 ~]# swapon -s     #查看系统中的swap分区
(3).开机自动激活
[root@desktop144 ~]# vim /etc/fstab  #编辑挂载配置文件

/dev/vdb1    swap      swap   defaults  0  0
注意:当磁盘全部被占用,不能创建新分区时,可以用文件来代替分区
dd if=/dev/zero of=/swapfile bs=1M count=500  #截取500M作为swap分区
之后进行进行格式化与挂载激活
(4).swap分区的删除
[root@desktop144 ~]# vim /etc/fstab   #若执行自动挂载后,一定要先修改配置文件,若没有执行,直接进行下一步
[root@desktop144 ~]# swapoff /dev/vdb1   #删除swap分区
或者:
[root@desktop144 ~]# fdisk /dev/vab1  #之后选择d对swap分区进行删除

rm -fr /swapfile   #删除swap分区中的文件

1.4 给硬盘权限让所有人可用

应先挂载然后在给权限
[root@desktop144 ~]# mount /dev/vdc1 /mnt   #先挂载
[root@desktop144 ~]# chmod 777 /mnt         #给权限

1.5 磁盘配额

[root@desktop144 ~]# mount -o usrquota /dev/vdc1 /mnt   #进行配额挂载
[root@desktop144 ~]# edquota -u student         #更改配置文件(student)要进行配额的用户名称
配置文件内容:
Disk quotas for user student (uid 1000):KB(单位)
Filesystem       blocks       soft       hard     inodes     soft     hard
/dev/vdc2           0          0          0          0        0        0
改后的:
Disk quotas for user student (uid 1000):
Filesystem       blocks       soft       hard       inodes       soft       hard
/dev/vdc2           0          0         40000          0        0        0
测试:
[root@desktop144 ~]# su - student
[student@desktop144 mnt]$ dd if=/dev/zero of=/mnt/student bs=1M count=30

1.6 磁盘加密(密码要是8位,要有大小写)

lusk加密 搭建环境:
=======================================================
[root@desktop144 ~]#fdisk /dev/vdd   #磁盘分区
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.

Command (m for help): n      ##n
Partition type:
p   primary (1 primary, 0 extended, 3 free)
e   extended
Select (default p): p
Partition number (1-4, default 1): 1  ##第1个
First sector (20970333-20971519, default 20970333):
Last sector, +sectors or +size{K,M,G} (20970333-20971519, default 20971519): +1G   #要分的大小
Command (m for help): p      #看一下是否成功
Disk /dev/vdd: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xb8cd6a0a

Device Boot      Start         End      Blocks   Id  System
/dev/vdd1            2048     2099199     1048576   83  Linux

Command (m for help): wq       #退出保存
[root@server94 yum.repos.d]# partprobe   #同步

===========================================================
进行加密
[root@desktop144 ~]# cryptsetup luksFormat /dev/vdd1    #磁盘加密
WARNING!
========
This will overwrite data on /dev/vdd1 irrevocably.

Are you sure? (Type uppercase yes): YES  #此处必须用大写
Enter passphrase:     #密码要是8位,要有大小写
Verify passphrase:
[root@desktop144 ~]# cryptsetup open /dev/vdd1 westos      #用虚拟软件进入磁盘
Enter passphrase for /dev/vdd1:
[root@desktop144 ~]# ll /dev/mapper/westos                 #查看虚拟软件
lrwxrwxrwx 1 root root 7 Jan 22 03:38 /dev/mapper/westos -> ../dm-1   #/dev/mapper/westos为链接文件
[root@desktop144 ~]# mkfs.xfs /dev/mapper/westos                      #格式化
[root@desktop144 ~]# mount /dev/mapper/westos /www                    #挂载
[root@desktop144 ~]# umount /www
[root@desktop144 ~]# cryptsetup close westos #关闭以后,/dev/mapper/westos文件消失
测试:
挂载原始设备/dev/vda1也不行,因为我的磁盘被luks所加密过
若要继续使用则
cryptsetup open /dev/vdd1 dd
mount /dev/mapper/westos /www

1.7 磁盘阵列

搭建环境: 搭建3块磁盘分区 贴标签 t : fd
=========================================
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'

Device Boot      Start         End      Blocks   Id  System
/dev/vdd1            2048     2099199     1048576   fd  Linux raid autodetect

[root@desktop144 ~]# partprobe  #同步
=========================================
具体操作
[root@desktop144 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdd{1..3}     #将3块磁盘分区合为一个磁盘阵列
-C 建立
-a yes如果/dev/md0不存在则自动创建
-l ride 工作方式
-n 使用几块硬盘
-x 备用几块
mkfs.xfs /dev/md0
mount /dev/md0 /mnt

测试:
手动模拟一块硬盘出错
mdadm -f /dev/md0  /dev/vdd1   #指定vdd1硬盘出错
发现vdd3立即顶替,vdd1去与vdd2做数据的同步
mdadm -D /dev/md0    #查看信息
mdadm -r /dev/md0 /dev/vdd1  #删除
mdadm -a /dev/md0 /dev/vdd1  #恢复
mdadm -S /dev/md0    #结束磁盘阵列服务
watch -n 1 cat /proc/mdstar    #用来监控,观察实验

##注意:若想恢复其中阵列中某个硬盘,须先将它删除再恢复

2.nfs服务

2.1 定义:

网络文件系统(NFS)是linux系统和网络附加存储文件管理器常用的网络文件系统,允许多个客户端通过共享文件访问,它可以用于提供对共享二进制目录的访问,也可以用于允许用户在同一工作组从不同的客户端访问其文件

2.2具体命令操作

在服务端:
[root@desktop144 ~]# fdisk /dev/vab   #分区
[root@desktop144 ~]# partprobe         #同步
[root@desktop144 ~]# cat /proc/partitions
[root@desktop144 ~]# mkdir /westosshanre  #建立一个用于挂载的目录
[root@desktop144 ~]# mkfs.xfs /dev/vdb1  #分区格式化
[root@desktop144 ~]# mount /dev/vdb1 /westosshare   #挂载到westosshare
[root@desktop144 ~]# cd /westosshare
[root@desktop144 westosshare]#touch file{1..5}      #创建共享文件
[root@desktop144 westosshare]# yum install nfs-utils -y  #下载nfs服务
[root@desktop144 westosshare]# systemctl start nfs-server  #启动vfs服务
[root@desktop144 westosshare]# systemctl enable nfs-server #开机自启
[root@desktop144 westosshare]# systemctl stop firewalld    #关闭防火墙
[root@desktop144 westosshare]# systemctl disable firewalld
[root@desktop144 westosshare]# vim /etc/exports          #编辑配置文件
配置文件内容:
/westosshare      *(sync) #默认权限,只能读 加权限  *(rw,sync)                     #指定客户端的访问方式
[root@desktop144 westosshare]# exportfs -rv   #刷新并且显示
在客户端:(两边都要关闭防火墙 网络通畅)
mount 172.25.254.x:/westosshare /mnt    #x表示服务端的IP
df

2.3 nfs自动挂载和卸载

不用的时候还继续挂载,浪费资源 在客户端:
[root@server94 Desktop]# yum install autofs -y  #下载autofs服务

[root@server94 ~]# ls -ld /net          #没有这个服务
ls: cannot access /net: No such file or directory
[root@server94 Desktop]# systemctl start autofs #启动服务
[root@server94 ~]# ls -ld /net          #就可以看到服务端共享的目录
[root@server94 ~]# cd /net
[root@server94 ~]# cd 172.25.254.144
[root@server94 ~]# cd westosshare
[root@server94 ~]# df #共享目录被自动挂载
然后退出这个目录,过一会儿就会自动卸载(300S)
nfs服务启动成功
(1)修改nfs服务卸载时间
[root@server94 Desktop]# vim /etc/sysconfig/autofs
配置文件:
13 TIMEOUT=5

[root@server94 Desktop]# systemctl restart autofs #重启服务
[root@server94 Desktop]# cd /net
[root@server94 Desktop]# cd 172.25.254.144
[root@server94 Desktop]# cd westosshare
注意:再次退出这个目录,等待5s,不要一直df,每一次df都会让时间重新刷新
(2)修改nfs服务默认挂载目录
默认挂载在/net/172.25.254.144/docs  这个目录下
现在想要挂载到 /opt/nfs/wetos/
[root@server94 Desktop]# vim /etc/auto.master   #里面写的是最终挂载点的上层目录
配置文件:
8  /opt/nfs #wetos的上一层目录     /etc/auto.nfs(任意名称)    ##(auto.nfs)文件不存在需要自己创建

[root@server94 Desktop]# vim /etc/auto.nfs   #文件名称与上面保持一致
配置文件:
westos   -ro   172.25.254.144:/wetosshare     #服务端的IP

[root@server94 Desktop]# systemctl restart autofs
[root@server94 Desktop]# ls /opt    #可以看到nfs目录,自动生成
[root@server94 Desktop]# systemctl stop autofs   #nfs目录自动消失
[root@server94 Desktop]# cd /opt/nfs/westos  #直接进入目录,目录可以进入,会自动挂载
[root@server94 Desktop]# df

然后退出来,等待5s,自动卸载
nfs比cifg优秀的地方是,nfs可以在用的时候自动挂载,不用的时候自动卸载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: