RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / Linux / 正文内容

linux分区,挂载,逻辑卷管理,文件系统,NFS

25540 Linux | 2016年12月07日

1.jpg

创建新分区、文件系统并且持久化挂载

     查看硬盘列表:

         fdisk  -l 

         

         fdisk  -l /dev/vdb 查看某个硬盘的情况

         

         在rhel6,7系统里,看到的并口ide还是串口stat、scsi、sas等同名为/dev/sd?

         

         第一块硬盘 sda ,第一个分区sda1 第二个分区sda2

         第二个硬盘 sdb 

         

         在kvm的客户机里,硬盘可以命名为sd?,也能命名为vd?

         

         lsblk #列出块设备

         fdisk -l #列出当前硬盘

         

         常见的分区工具:fdisk gdisk 

         fdisk 对硬盘进行传统分区

         gdisk  对硬盘进行大容量GPT分区

         

         例子:使用fdisk对硬盘vdb进行传统技术的分区

                 要求:3P+1E 后建立一个逻辑分区

                         1G+2G+3G+4G->L:4G

            

             fdisk /dev/vdb

             选项:  -a 标记分区是否为引导分区

                     -d 删除分区

                     -l 列出所有支持的分区类型

                     -n 新建一个分区

                     -p 打印分区表

                     -q 不保存设定直接退出

                     -t 更改分区类型

                     -w 保存设定并退出

             partprobe #保证linux生成分区好的相应设备文件

             或者partprobe /dev/vdb 

             如果分区的硬盘是系统分区所在的硬盘,分区完毕之后是不会生成设备文件的,如果想强制生成可以执行:

             partx -a /dev/sda (一般不建议)

             

             例子:对分区建立文件系统(格式化)

                 1.格式化      

                     mkfs.ext4 /dev/sda1

                     mkfs -t xfs /dev/sda1 #设置xfs文件系统貌似比ext4性能要好

                 2.临时挂载使用

                     mount -t ext4 /dev/sda1 /mnt

                      df -h #查看文件系统

                      mount | grep -w /mnt #查看挂载情况

                      拷贝一下文件到该目录

                      cp /etc/host*  /mnt/ #其实是拷贝到挂载在/mnt目录下的硬盘

                      取消挂载

                      umount /mnt

                      

                 持久化并且开机挂载:

                     blkid /dev/vdb1 #查看磁盘UUID

                     #编辑fstab

                     vim /etc/fstab

                     UUID="XXX-XXX-XXX-XXX"  /share1  ext4 defaults,ro  0  0 

                     #ro代表read only

                     #第一个0代表是否支持备份0代表不支持

                     #第二个0代表是否支持开机自动检测,0代表不修复,1代表优先检测修复,2代表次优先检查修复,3....

                     

                     验证:

                     mount -a

                     df -h

                     

创建SWAP交换分区并且持久化使用

         例子1:给系统新增加一个交换分区SWAP

              新建一个分区并把分区作为SWAP分区使用

                  查看内存和交换分区的使用情况

                  free -m #如果显示swap那一栏是0则表示没有交换分区

                  或者

                  swapon -s  #如果什么都不显示也说明没有交换分区

                  fdisk -l /dev/sdb #然后通过t等命令设置交换分区,SWAP(82)

                  partprobe #确保生成相应的设备文件

                  mkswap /dev/sdb2 #格式化交换分区

                  swapon /dev/sdb2 #激活交换分区

                  

                  验证:

                  swapon -s

                  

                  blkid /dev/sdb2 #查看硬盘UUID

                  vim /etc/fstab

                  UUID="XXX-XXX-XXX-XXX" swap swap default 0 0 #不需要写挂载路径

                  

                  init 6#关机命令

          例子2:使用gdisk创建GPT硬盘

                 gdisk /dev/vdb #这里选项和fdisk类似,这里就不一一列举

                 partprobe

                 

                 补充:

                 swapoff /dev/vdb2 # 禁用交换分区

                 swapon -s #查看是否禁用成功

                 swapon -p 1 /dev/sdb2 #指定swap分区优先级

                 开机设置优先级:

                 vim /etc/fstab

                 UUID="XXX-XXX-XXX-XXX" swap swap defaults,pri=1 0 0 

                 

管理逻辑卷

     传统硬盘

         盘碟1 ------ \                             /----------分区1

                              -----硬盘-------> 

         盘碟2 ------ /                             \----------分区2

         

         物理卷1 ------\                            /-----------逻辑卷1

                              -----卷组------->      

         物理卷2 ------/                            \-----------逻辑卷2

         

         物理卷(PV):把常规的块设备(硬盘,分区等可以读写数据的设备)通过pvcreate命令对其进行初始化,就成了物理卷

         

         卷组(VG):把多个物理卷的容量组成一个逻辑整体,可以从里面灵活分配容量

         

         逻辑卷(LV):从卷组中划分部分空间成为一个可以读写数据的逻辑单元。需要对其格式化然后挂载使用

         

         逻辑卷

                 -L 容量

                 -l 扩展

                 创建、删除pv,vg,lv

                 容量调整 xfs_growfs /mnt/hercules ,resize2fs /dev/vg-alpha/hercules

                 

 创建逻辑卷

     创建过程:创建物理卷 --->  创建卷组,并且把物理卷加入到该组 ---> 在卷组中划分物理卷

         1.把指定的硬盘进行分区,并且把分区初始化为物理卷

         pvcreate /dev/vdb

         

         fdisk /dev/sdb

         n -> p -> <> -> +1G -> t -> 8e(Linux LVM) -> w

         partprobe

         #建议不要忘记修改分区类型8e

         pvcrate /dev/vdb1 

         查看当前存在那些物理卷:

         pvs

         pvdisplay

         

         2.创建卷组

         vgcreate myvg /dev/vdb1 /dev/vdb2 #创建名为myvg的卷组,里面加入了物理卷vdb1,vdb2

         

         vgs #查看卷组

         

         pvs #查看物理卷

         vgdisplay#列出详细的物理卷信息

         

         

         3.创建逻辑卷

         从myvg卷组中划分出4G的空间来创建一个名为wewlv的逻辑卷

         lvcreate -n weblv -L 4G myvg

         lvs #查看逻辑卷

         从myvg卷组中划分出800个PE(扩展extends)给新建的一个名为dblv的逻辑卷

         lvcreate -n dblv -l 800 myvg

         

         查看lv的信息

         lvdisplay

         

         从myvg卷组中划分出10%的空间来给pub逻辑卷

         lvcreate -n pub -l 10%VG myvg

         lvs

         vgs

         

         查看设备文件

         

         ls /dev/myvg/

         

         4.建立文件系统(格式化)

         

         mkfs.xfs /dev/myvg/weblv

         mkfs.ext4 /dev/myvg/dblv

         

         #创建目录

         mkdir /share1

         mkdir /share2

         

         #挂载

         mount /dev/myvg/weblv /share1

         mount /dev/myvg/dblv  /share2

         

         #持久化挂载

         blkid /dev/myvg/weblv

         blkid /dev/myvg/dblv

         vim /etc/fstab

         

         UUID="XXX-XXX-XXX-XXX-XXX-XXX" /share1 xfs defaults 0 0

         UUID="XXX-XXX-XXX-XXX-XXX-XXX" /share2 ext4 defaults 0 0 

         

         df -h

         

         

     删除逻辑卷:

         1.取消挂载

         umount /path/to/lvname

         

         2.删除逻辑卷

         lvremove /dev/myvg/pub

         y

         

         3.进入fstab删除持久化挂载选项

         vim /etc/fstab

         

         删除之后,卷组的空间就被回收了

         

         补充:

         #删除卷组

         vgremove myvg

         #删除物理卷

         pvremove /dev/vdb2 --force #两次(不建议使用)

         

         vgreduce myvg /dev/vdb2 #把/dev/vb2退出卷组

         

         pvs

         vgs

         pvremove /dev/vdb2

         

逻辑卷扩展、裁剪

         前言:首先建立逻辑卷

         pvs

         lsblk

         pvcreate /dev/vdb1 /dev/vdb2

         vgcreate myvg /dev/vdb{1,2}

         vgs

         

         lvcreate -n dblv -L 2G myvg

         partprobe

         

     给逻辑卷扩容:

             特点:

                    支持在线操作(无需卸载),无需对扩容的逻辑卷卸载就能操作

                    前提:卷组有足够的容量

                    

一、给ext4类型的逻辑卷扩容         

         1.对逻辑卷进行扩展

         lvextend -l +400 /dev/myvg/dblv #增加400个PE,一个1PE默认4M 一共1.6G

         mkfs.ext4 /dev/myvg/db1

         mount /dev/myvg/dblv /share1

         

         lvextend -L +2G /dev/myvg/dblv #给该逻辑卷扩容2G,不加+号就是默认最后就是2G

         

         

         2.刷新ext4文件系统的信息

         resize2fs /dev/myvg/dblv

         

二、给xfs类型的逻辑卷扩容

         1.对逻辑卷进行扩展

         lvextend -L +1G /dev/myvg/weblv #给逻辑卷增加1G

         2.刷新xfs的文件系统设定信息

         xfs_growfs /share1

         #df -h 

         

         实验:

         server0:lab lvm setup

         

         把原来名字是loans的逻辑卷调整容量为768M,持久化挂载到/finance/loans

         新建一个名字是risk的逻辑卷,容量是128M,并且格式化为xfs,持久化挂载/finance/risk

         

         一、

         1.由于卷组只剩下252M的可用容量,不足给逻辑卷扩容,所以需要添加新的物理卷到卷组中

         #fdisk /dev/vdb n -> p -> <> -> <> -> <>  -> t ->8e -> 2 -> w

         pvcreate /dev/vdb2

         pvs

         vgextend finance /dev/vdb2

         vgs

         pvs

         

         lvextend -L 768M /dev/finance/loans

         resize2fs /dev/finance/loans #或者 xfs_growfs /dev/finance/loans

         

         

         2. 首先创建目录

         mkdir /finance/risk

         lvcreate -n risk -L 128M finance 

         mkfs.xfs /dev/finance/risk

         lsblk /dev/mapper/finance-risk

         #持久化挂载

         vim /etc/fstab 

         UUID="XXX-XXX-XXX-XXX" /finance/risk xfs default 0 0

         mount /finance/risk/

         

         2.裁剪容量、删除卷组、物理卷等操作

         

         对ext4进行裁剪容量

         

         首先创建一个1G逻辑卷用来裁剪容量

         lvcreate -n uplooking -L 1G finance 

         mkfs.ext4 /dev/finance/uplooking

         1.如果已经挂载,必须先卸载

         umount /dev/finance/uplooking

         2.裁剪容量,必须是先检测文件系统

         fsck -f /dev/finance/uplooking

         resize2fs /dev/finance/uplooking 512M

         3.调整完毕后采取裁剪逻辑卷容量

         lvreduce -L 512M /dev/finance/uplooking

         y

         4.再次检查文件系统

         fsck -f /dev/finance/uplooking

         

通过NFS访问网络文件系统

     NFS ->Network Filesystem

     在linux、unix平台下实现文件功能,共享存储功能的服务

         访问nfs - desktop 

                 挂载nfs资源

                             serverX# exportfs -s 

                             NFSv4:

                             desktopX# mount serverX:/ /mnt

                             

                             NFSv3,v2:

                             desktopX# showmount -e serverX

                             desktopX# mount -o sec=sys serverX:/share/manual /mnt

                             保存到fstab

                             

                             如果nfs资源是使用Kerberos认证,客户端必须启用以下服务:

                             desktopX# systemctl enable nfs-secure

                             desktopX# systemctl start nfs-secure

                             并且把Kerberos管理员提供的krb5,keytab(保存了授权对象的秘钥文件)保存到/etc/krb5.keytab中

                             

                             实验:

                             desktop/server:lab nfsmount setup

                             要求:用户ldapuser0能够成功登录机器,并且访问持久化挂载nfs共享目录server0:/shares/public 挂载到 /mnt/public

                             用户能够手工挂载nfs服务器上的/shares/manual 到本地的/mnt/manual 共享目录

                             

                             ldapuser0 ---> kerberos,ldap ----> nfs:/shares/public

                             

                             server:自动部署NFS服务

                             sudo -i

                             exportfs #查看服务端本身共享了什么NFS的资源

                             

                             1.下载Kerberos证书:

                             desktop:

                             sudo wget -O /etc/krb5.keytab http://xx.xx.xx.xx/xxx/desktop0.keytab

                             2.启动服务

                             因为nfs服务端的功能是使用kerberos进行身份认证的,所以需要启动该服务

                             sudo systemctl enable nfs-secure

                             sudo systemctl start nfs-secure

                             3.在本地建立目录,使用这些目录挂载nfs资源

                             sudo mkdir - p /mnt/{public,manual}

                             4.建立持久化挂载目录

                             mount -o sec=krb5p,sync server0:/shares/public /mnt/public/ #设置临时挂载 -o 选项的意思,sec设置安全系数(认证方式)kerberos,sync实时同步

                             vim /etc/fstab

                             server0:/shares/public /mnt/public nfs  sec=krb5p,sync 0 0 #一定要把sec=krb5p的写在前面

                             server0:/shares/manual /mnt/manual nfs sec=sys,sync 0 0 

                             mount /mnt/public/

                             mount -o sec=sys,sync server0:/shares/manual /mnt/manual/ #如果cat /etc/exports后面没有写krb5p的话,默认使用sys验证

                             

                             mount -a #默认挂载所有盘符

                             df -h

                             

                             使用kerberos用户ldapuser0进行访问验证

                             desktop:

                             ssh ldapuser0@localhost 密码kerberos

                             

                             cd /mnt/manual/

                             echo "hello" >> test.txt

                             cd /mnt/public/

                             echo "hello" >> test.txt

                             

                             使用student用户访问测试

                             echo "hello" >> /mnt/public/

                             权限不够

                             

                             echo "hello" >> /mnt/manual/

                             没问题 sys不在乎用户

                             

                             

                             新版本的nfs支持的新挂载方案:

                             

                             mount server0:/ /mnt #默认挂载server0上的所有的文件夹,但是默认是基于sys,所以使用kerberos5挂载会出现问题,所以最好手工挂载

                             

NFS自动挂载

     自动挂载服务autofs

                 掌握直接、间接自动挂载NFS

                             直接:direct

                                     /- ,子配置文件必须写本地的绝对路径

                             间接:indirect

                                     /path 子配置文件必须写相当于/path的子目录

                                     

                     实验:

                     使用autofs,直接自动挂载serverX:/shares/public 到本地 /mnt/public

                     使用autofs, 间接自动挂载serverX:/shares/* 到本地的 /shares

                     最后是使用ldapuserX访问测试

                     

                 一、部署nfs服务器

                 serverX:

                 lab nfsmount setup

                 exportfs

                 

                 desktopX:

                 lab nfsmount setup

                 

                 yum install -y autofs

                 systemctl enable autofs #设置开机启动

                 

                 man autofs

                 man 5 autofs

                 man auto.master

                 直接挂载:本地挂载点是绝对路径

                 vim /etc/auto.master.d/direct.autofs  <--名字随意,后缀必须是.autofs

                 /-    /etc/auto.direct  # /-代表这是一个直接挂载的定义,根据/etc/auto.direct进行挂载

                 vim /etc/auto.direct

                 /mnt/public -rw,sync,soft,sec=krb5p server0:/shares/public #读写访问 数据同步 轻量挂载,挂载失败自动退出

                 

                 mkdir /mnt/public

                 由于上面的挂载使用的是kerberos验证,所以要下载相应的证书

                 wget -O /etc/krb5.keytab  http://xx.xxx.xx/pub/xxx.keytab

                 

                 设置开机启动Kerberos服务:

                 systemctl enable nfs-secure

                 systemctl start nfs-secure

                 

                 配置间接挂载:

                 vim /etc/auto.master.d/shares.autofs 

                 /shares  /etc/auto.shares

                 auto.shares 挂载远端的nfs相应的目录

                 vim /etc/auto.shares

                 *    -rw,sync,soft,sec=krb5p    server0:/shares/&

                 mkdir /shares

                 systemctl start autofs

                 

                 验证:

                 ssh ldapuser0@localhost 

                 y

                 cd /mnt/public

                 echo "hello" >> test.txt

                 cd /shares/docs

                 echo "hello" >> test.txt

                 

                 lab nfsmount grade

                 

                 实验2:

                 要求网络用户ldapuser0通过SSH登录后能够自动挂载NFS共享的家目录到本地/home/gusets/ldapuser0

                 desktop:

                 lab nfs setup

                 配置autofs,当ldapuser0登录系统后,家目录/home/guests/ldapuser0会自动挂载到

                 classroom.example.com:/home/guests/ldapuser0,并且对家目录有读写权限

                 

                 yum install -y autofs

                 

                 systemctl enable autofs

                 


                 

                 vim /etc/auto.master

                 /home/guests  /etc/ldaphome.autofs

                 

                 vim /etc/ldaphome.autofs

                 *   -rw,sync,soft  classroom.example.com:/home/guests/&

                 

                 showmount -e classroom

                 

                 systemctl start autofs

                 

                 ssh ldapuser0@localhost yes kerberos

                 

                 lab nfs grade


本文链接:http://junjiang.pw/post/52.html


上一篇:linux环境下的账户和登录安全

下一篇:Mysql初始化root密码和允许远程访问

猜你喜欢