kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

xfs文件系统修复 xfs_repair

https://blog.csdn.net/theoldsod2000/article/details/105988902/

因为断电等原因可能无法开机,提示

1
Failed to start Remount Root and Kenal File System

可以通过xfs_repair命令进行修复。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost ~]# xfs_repair
Usage: xfs_repair [options] device

Options:
  -f           The device is a file
  -L           Force log zeroing. Do this as a last resort.
  -l logdev    Specifies the device where the external log resides.
  -m maxmem    Maximum amount of memory to be used in megabytes.
  -n           No modify mode, just checks the filesystem for damage.
  -P           Disables prefetching.
  -r rtdev     Specifies the device where the realtime section resides.
  -v           Verbose output.
  -c subopts   Change filesystem parameters - use xfs_admin.
  -o subopts   Override default behaviour, refer to man page.
  -t interval  Reporting interval in seconds.
  -d           Repair dangerously.
  -V           Reports version and exits.

xfs_repair最重要的是指定要修复的设备

如果是LVM管理分区的

可以通过 ls -l /dev/mapper 来查看可用的设备。

一般可以看到2到3个链接文件,centos-home -> ../dm-1, centos-root->../dm-0

执行xfs_repair /dev/dm-0 正常情况下,这个分区就修复好了,再接着执行 xfs_repair /dev/dm-1,正常情况下,这个分区也会修复好。

如果不是LVM分区管理的,可以 通过 ls /dev 查看,一般会有sda,sda1,sda2.

可以执行 xfs_repair /dev/sda1 和 xfs_repair /dev/sda2 进行修复。

如果修复失败,可以加上 -L 参数,这样可能会丢失部分数据。

修复的过程中可能会出错,提示找不到superblock。

下面这篇文章很清楚的讲述了superblock,inode,block的关系,可以帮助我们理解

https://blog.csdn.net/Ohmyberry/article/details/80427492

dm是device mapper的意思,主要涉及的linux下卷的管理。卷管理通过映射的方法建立了逻辑卷。每个逻辑卷相当于一个分区。

Linux下挂载lvm 重名问题

https://blog.51cto.com/songxj/269661

linux下使用新硬盘安装系统,安装好以后再挂载原来的硬盘,分区格式全为系统默认分区,系统默认使用的是lvm格式,并且默认的卷都是 VolGroup00

使用 pvs 查看显示如下:

1
2
3
4
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 136.62G 0
/dev/sdb2 VolGroup00 lvm2 a- 136.62G 0

发现可以正确认别到两个VG,但是同名,如何挂载呢?

解决办法是,将原来的VG更名,解决冲突即可挂载。

重命名格式为:

1
vgrename VolGroup00 VolGroup01

此时会提示:

1
2
[root@localhost ~]# vgrename VolGroup00 VolGroup01
Found more than one VG called VolGroup00. Please supply VG uuid.

原因是存在两个 VolGroup00,修改的方法他已经提示了要指定 VG uuid即可。

查看VG uuid的命令为:

1
2
3
4
5
6
7
[root@localhost ~]# vgs -v
Finding all volume groups
Finding volume group "VolGroup00"
Finding volume group "VolGroup00"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 dcHa6G-abU2-Xfq8-EPBm-jBLj-sf18-O5uH0U
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9

查到VG uuid以后,再次执行改名:

1
2
[root@localhost ~]# vgrename OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9 VolGroup01
Volume group "VolGroup00" still has active LVs

修改成功以后,再执行:lvscan

1
2
3
4
5
[root@localhost ~]# lvscan
inactive '/dev/VolGroup01/LogVol00' [130.84 GB] inherit
inactive '/dev/VolGroup01/LogVol01' [5.78 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol00' [130.84 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [5.78 GB] inherit

可以看到新修改的VolGroup01是inactive状态。

再使用vgchange 加载 VolGroup01

1
2
[root@localhost ~]# vgchange -ay /dev/VolGroup01
2 logical volume(s) in volume group "VolGroup01" now active

最后 mount 就可以

1
[root@localhost ~]# mount /dev/VolGroup01/LogVol00 /mnt/old

至此,全部完成。

创建和管理LVM

https://www.cnblogs.com/zuizui1204/p/10044945.html

https://blog.csdn.net/qq_20745901/article/details/54575586

1、 创建分区

使用fdisk 创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。

2、创建PV

1
pvcreate /dev/sdb1

3、创建VG:

先查看已经存在的VG

vgs和vgdispaly:vgs信息较少,vgdisplay信息较多

可以看到已经存在了一个VG:vg_zjhzmodelredh

新建

1
vgcreate vgName /dev/sdb1

这里新增已经存在的VG:

1
vgextend vg_zjhzmodelredh /dev/sdb1

创建完成VG之后,才能从VG中划分一个LV。

4、创建LV

命令:

1
lvcreate -L 大小 -n lvName VGName

5、LV格式化及挂载

如未激活,需要激活逻辑卷:

1
vgchange -ay /dev/VolGroup00

下一步需要对LV进行格式化(使用mkfs进行格式化操作),然后LV才能存储资料

1
mkfs -t ext4 /dev/vg_zjhzmodelredh/data

将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了

挂载之后,可以看到此LV的容量。

如果要在系统启动的时候启动LV,最好是将lvData写入fstab