本文共 4337 字,大约阅读时间需要 14 分钟。
Linux文件系统运维常见问题总结
1,描述GPT是什么,应该怎么使用GPT意为GUID分区表,他是一个逐渐取代MBR的新标准。他最多可以支持128个GPT分区,而且你还不要创建扩展分区。在MBR磁盘上,分区和启动信息是保存在一起的。如果这部分数据被覆盖或破坏,事情就麻烦了。相对的,GPT在整个磁盘上保存多个这部分信息的副本,因此它更为健壮,并可以恢复被破坏的这部分信息。GPT还为这些信息保存了循环冗余校验码(CRC)以保证其完整和正确——如果数据被破坏,GPT会发觉这些破坏,并从磁盘上的其他地方进行恢复。而MBR则对这些问题无能为力——只有在问题出现后,你才会发现计算机无法启动,或者磁盘分区都不翼而飞了。2.创建一个10G分区,并格式为ext4文件系统;(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;fidsk划分10G分区,partx命令强制内核重新读磁盘分区表,cat /proc/partitions是否内核识别到新分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x6cc70eda 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p分区号 (1-4,默认 1):1起始 扇区 (2048-41943039,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G分区 1 已设置为 Linux 类型,大小设为 10 GiB命令(输入 m 获取帮助):w
[root@localhost ~]# partx -a /dev/sdb1
partx: /dev/sdb: error adding partition 1[root@localhost ~]# cat /proc/partitionsmajor minor #blocks name8 32 20971520 sdc
8 0 125829120 sda8 1 512000 sda18 2 125316096 sda28 16 20971520 sdb8 17 10485760 sdb18 48 20971520 sdd11 0 1048575 sr0253 0 52428800 dm-0253 1 2097152 dm-1253 2 70721536 dm-2(2) mke2fs格式化文件系统为ext4,并指点定相关属性[root@localhost ~]# mke2fs -b 2048 -t ext4 -m 2 -L mydata /dev/sdb1tune2fs设置挂载属性[root@localhost ~]# tune2fs -o acl /dev/sdb1tune2fs 1.42.9 (28-Dec-2013)[root@localhost ~]#(3) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;创建挂载点,挂载文件系统[root@localhost ~]# mkdir -p /data/mydata[root@localhost ~]# mount -L mydata -o noexec,noatime /data/mydata/[root@localhost ~]#(4)开机自动挂载启动编辑启动文件/etc/fstab#
/dev/mapper/centos-root / xfs defaults 0 0UUID=17adcced-6e01-4fd4-b919-dfa98a1c333b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0/dev/sdb1 /data/mydata ext4 defaults 0 03 创建一个大小为1G的swap分区,并创建好文件系统,并启用之;命令(输入 m 获取帮助):nPartition type:p primary (1 primary, 0 extended, 3 free)e extendedSelect (default p): p分区号 (2-4,默认 2):2起始 扇区 (20973568-41943039,默认为 20973568):将使用默认值 20973568Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+1G分区 2 已设置为 Linux 类型,大小设为 1 GiB[root@localhost ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-2[root@localhost ~]# mkswap /dev/sdb2正在设置交换空间版本 1,大小 = 1048572 KiB无标签,UUID=6d178552-44f0-479b-89eb-a7c72e0852f2[root@localhost ~]# swapon /dev/sdb24 编写一个脚本,计算第10个到第20个用户的id之和#!/bin/bashdeclare -i sum=0for i insed -n '20,30p' /etc/passwd|awk -F ":" '{print $3}'
;dolet sum+=${i}doneecho "id之和为${sum}"5 将当前主机名保存到hostname变量中,主机名如果为空,或者为localhost改为nod2hostnamectl set-hostname nod2[root@nod2 ~]# echo $HOSTNAMEnod2[root@nod2 ~]#编6 编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是偶数还是奇数 #!/bin/bash
[ $# -lt 1 ] && echo "at least one username" && exit 1! id $1 &>/dev/null && echo "no such user" && exit 2id=$(id -u $1)a=$(($id%2))if [ $a -eq 0 ]; thenecho "偶数";
else
echo "奇数";fi7 lvm基本应用及扩展缩减实现(1)PV管理工具: pvs: 简要pv信息显示 pvdisplay: 显示pv的详细信息 pvcreate /dev/DEVICE: 创建pv pvremove /dev/PV_NAME:移除PV(2)VG管理工具:
vgs: 简要显示vg信息 vgdisplay:显示vg的详细信息 vgcreate [-s PE_SIZE[kKmMgGtTpPeE]] VG_NAME /dev/DEVICE : 创建vg vgextend VG_NAME /dev/DEVICEE: vg扩展 vgreduce VG_NAME /dev/DEVICE: 缩减vg,需要先做pvmove vgremove /dev/VG_NAME:vg移除(3)V管理工具:
lvs: 简要显示lv信息 lvdisplay:详细显示lv信息 lvcreate -L #[mMgGtT] -n LV_NAME VG_NAME : 创建lv lvremove /dev/VG_NAME/LV_NAME: 移除lv 3.1扩展逻辑卷步骤: lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME: 扩展物理边界 resize2fs /dev/VG_NAME/LV_NAME (EXT系列的文件格式):修改逻辑边界 3.2缩减逻辑卷步骤: umount /dev/VG_NAME/LV_NAME: 先卸载LV e2fsck -f /dev/VG_NAME/LV_NAME: 强制检测和修复文件系统 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]:缩减逻辑边界 lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:缩减物理边界 mount: 重新挂载lv (4)snapshot 快照就是某一时刻立即创建一个对原卷文件元数据的监视器,当原卷上文件元数据要变化的时候,先把原文件复制一份到快照卷上,而没有变化的就指向原卷上的文件数据。 快照的相关命令: lvcreate -L #[mMgGtT] -p r -s -n SNAPSHOT_LV_NAME ORIGINAL_NAME: 创建一个只读的快照转载于:https://blog.51cto.com/ssxw523/2337338