Kdump










Strace






Ftrace








blktrace








tcpdump









实验操作
需要安装crash 挂载iso 镜像进行安装
rpm -ivh ./Packages/crash-8.0.4-2.oe2403.x86_64.rpm
rpm -ivh ./Packages/kernel-devel-6.6.0-28.0.0.34.oe2403.x86_64.rpm


parted DEVICES_NAME即可。CentOS 7.5
parted命令后跟上欲操作磁盘的名字即可选择此设备进行操作。
[root@kvm ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
因为parted命令只能针对gpt格式的磁盘进行操作,所以这里必须将新建的磁盘标签格式设为gpt。
(parted) mklabel gpt
mkpart PART-TYPE [FS-TYPE] START END
(parted) mkpart primary 0 -1
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 18.0TB 18.0TB primary
(parted) q
Information: You may need to update /etc/fstab.
因为整个/dev/sdb只分了一个区,则这个分区名默认会分配为/dev/sdb1;使用mkfs命令将/dev/sdb1分区格式化为ext4。
[root@kvm ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb1 alignment is offset by 244736 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=64 blocks, Stripe width=64 blocks
274659328 inodes, 4394530311 blocks
219726515 blocks (5.00%) reserved for the super user
First data block=0
134111 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@kvm ~]# e2label /dev/sdb1 /gfsdata01
[root@kvm ~]# mkdir /gfsdata01
[root@kvm ~]# mount /dev/sdb1 /gfsdata01
[root@kvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/root_vg-lv_root 89G 2.6G 82G 4% /
devtmpfs 126G 0 126G 0% /dev
tmpfs 126G 0 126G 0% /dev/shm
tmpfs 126G 2.0M 126G 1% /run
tmpfs 126G 0 126G 0% /sys/fs/cgroup
/dev/sda1 976M 216M 694M 24% /boot
/dev/sda7 99G 61M 94G 1% /home
/dev/sda8 62G 53M 59G 1% /tmp
/dev/sda6 99G 61M 94G 1% /app
tmpfs 26G 0 26G 0% /run/user/1014
tmpfs 26G 0 26G 0% /run/user/0
/dev/sdb1 17T 20K 16T 1% /gfsdata01
即修改/etc/fstab文件。
echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0' >>/etc/fstab
适用于需要在多台主机上进行同样的分区操作,可以通过ansible工具调用脚本实现批量分区配置挂载等操作。
[root@kvm ~]# cat ./auto_partition.sh
#!/bin/bash
# 新建/dev/sdb的磁盘标签类型为GPT
parted /dev/sdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
parted /dev/sdb mkpart primary 0 100%
# 忽略警告
ignore
# 格式化分区
mkfs -t ext4 /dev/sdb1
# 设定分区label(非必要)
e2label /dev/sdb1 /gfsdata01
# 创建挂载目录
mkdir /gfsdata01
# 临时挂载
mount /dev/sdb1 /gfsdata01
# 开机自动挂载(永久挂载)
echo '/dev/sdb1 /gfsdata01 ext4 defaults 0 0'>>/etc/fstab
[root@kvm ~]#
rm NUMBER:NUMBER即为parted子命令p回显的Number对应的数字;
此命令慎用!!!如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的。
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 17.4kB 4096GB 4096GB primary
(parted) rm 1
(parted) p
Model: AVAGO AVAGO (scsi)
Disk /dev/sdb: 18.0TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
使用parted创建大分区时 mkpart Warning: The resulting partition is not properly aligned for best performance.
上网搜索的结论是分区起始的扇区成是把optimal_io_size的值与alignment_offset的值相加,之后除以physical_block_size的值。
[root@db_taibao oracle]# cat /sys/block/sdb/queue/optimal_io_size
0
[root@db_taibao oracle]# cat /sys/block/sdb/queue/minimum_io_size
4096
[root@db_taibao oracle]# cat /sys/block/sdb/alignment_offset
0
[root@db_taibao oracle]# cat /sys/block/sdb/queue/physical_block_size
4096
采用下面的值创建成功
(parted) mkpart primary 4096 100%
(parted)
1)查看当前centos系统版本和内核版本
[root@centos7-82 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
2)备份原来的CentOS-Base.repo
[root@centos7-82 ~]# cd /etc/yum.repos.d/
[root@centos7-82 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo_bak
3)修改yum源。
要保证更换的yum源地址可以正常访问。如下使用阿里云的yum源http://mirrors.aliyun.com/centos/7.9.2009,要保证手动打开这个地址是有效地址,且镜像yum源内容完整存在。
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
4)执行更新yum
确保下面更新操作没有报错。
[root@centos7-82 yum.repos.d]# yum update -y
5)重启系统
[root@centos7-82 yum.repos.d]# init 6
重启后查看系统版本
[root@centos7-82 yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
cat /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
RHEL 5.x 版本与RHEL 6.x 版本的rpm包存放路径不同:
RHEL 5.x : ../Server 例如:我案例环境位于/mnt/Server 下。
RHEL 6.x : ../Packages
所以还在于上面的baseurl参数需要注意修改下,不然执行yum makecache 提示找不到repomd.xml文件
Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again
Ansible Collections 是一种用于组织和分发 Ansible 内容的新方法,它使得内容管理更加灵活和模块化。Collections 允许你将 Ansible 角色、模块、插件等组合在一起,并以一种统一的方式进行发布和管理。这种新的内容组织方式提供了更好的版本控制和依赖管理能力。
.tar.gz 文件,便于分发和安装。一个典型的 Collection 目录结构如下所示:
ansible_collections/
└── namespace/
└── collection/
├── plugins/
│ ├── modules/
│ └── module_utils/
├── roles/
├── files/
├── docs/
├── tests/
└── meta/
└── runtime.yml
plugins/: 存放各种插件,如模块(modules)、过滤器(filters)、lookup 插件等。roles/: 存放 Ansible 角色。files/: 存放文件资源。docs/: 存放文档和手册。tests/: 存放测试用例。meta/runtime.yml: 存放 Collection 的元数据,包括依赖关系。你可以使用 ansible-galaxy 命令来安装 Collections。例如,要安装 community.general 这个 Collection,可以使用下面的命令:
bash深色版本1ansible-galaxy collection install community.general
要更新已安装的 Collections,可以使用 ansible-galaxy collection update 命令:
bash深色版本1ansible-galaxy collection update
要卸载一个 Collection,可以使用 ansible-galaxy collection remove 命令:
bash深色版本1ansible-galaxy collection remove namespace.collection
如果想创建一个新的 Collection,可以使用 ansible-galaxy collection init 命令来初始化一个新的 Collection:
bash深色版本1ansible-galaxy collection init namespace.collection
这将在当前目录下创建一个符合 Collection 结构的新目录。
一旦你创建了 Collection 并准备好发布它,你可以使用 ansible-galaxy collection build 命令来构建 Collection 包:
bash深色版本1ansible-galaxy collection build
然后你可以使用 ansible-galaxy collection publish 命令来上传你的 Collection 到 Ansible Galaxy:
ansible-galaxy collection publish <path_to_collection_tarball>