306 lines
11 KiB
Markdown
306 lines
11 KiB
Markdown
|
||
# 文件管理
|
||
## ACL访问控制
|
||
|
||
|
||
# 网络管理
|
||
## nmcli命令管理网络配置
|
||
### 1.管理网络连接与状态
|
||
```sh
|
||
# 显示所有连接(包括名称、UUID、类型、设备)
|
||
nmcli connection show
|
||
|
||
#仅显示活动连接
|
||
nmcli connection show --active
|
||
|
||
# 查看所有网络设备及其状态(如连接状态、类型):
|
||
nmcli device status
|
||
|
||
# 查看指定设备的详细信息(如 IP、MAC 地址
|
||
nmcli device show eth0
|
||
|
||
# 删除网卡
|
||
nmcli conn delete eth0
|
||
|
||
# 添加物理网卡
|
||
nmcli connection add type ethernet ifname ens38 con-name my-ens38
|
||
# 添加网桥从接口网卡
|
||
nmcli conn add type bridge-slave ifname enp1s0 con-name enp1s0 master bridge0
|
||
|
||
# 激活(启用)指定连接
|
||
nmcli connection up "Wired connection 1"
|
||
|
||
# 停用指定连接
|
||
nmcli connection down "Wired connection 1"
|
||
|
||
# 启用所有网络管理
|
||
nmcli networking on
|
||
|
||
# 禁用所有网络管理
|
||
nmcli networking off
|
||
|
||
# 禁用再启用设备(相当于重启某个网卡
|
||
nmcli device disconnect eth0 && nmcli device connect eth0
|
||
|
||
# 重新加载连接配置(修改配置文件后
|
||
nmcli connection reload
|
||
|
||
# 检查网络连通性
|
||
nmcli networking connectivity
|
||
|
||
# 监控网络状态变化
|
||
nmcli monitor
|
||
|
||
# 重载配置
|
||
nmcli conn reload
|
||
|
||
# 修改设备名称
|
||
sudo nmcli connection modify "旧连接名" connection.id "新连接名"
|
||
```
|
||
### 2.wifi管理
|
||
```sh
|
||
# 列出所有可用的 Wi-Fi 网络
|
||
nmcli device wifi list
|
||
# 连接到有密码保护的 Wi-Fi 网络
|
||
nmcli device wifi connect "SSID名称" password "你的密码"
|
||
# 连接到隐藏的 Wi-Fi 网络
|
||
nmcli device wifi connect "SSID名称" password "你的密码" hidden yes
|
||
# 断开当前 Wi-Fi 连接
|
||
nmcli device disconnect wlan0 # wlan0 为你的无线设备名
|
||
# 打开 Wi-Fi
|
||
nmcli radio wifi on
|
||
# 关闭 Wi-Fi
|
||
nmcli radio wifi off
|
||
# 扫描wifi
|
||
nmcli device wifi rescan
|
||
```
|
||
### 3.有线网络管理
|
||
```sh
|
||
# 配置静态 IP 地址
|
||
nmcli connection modify "eth0" ipv4.method manual \
|
||
ipv4.addresses 192.168.1.100/24 \
|
||
ipv4.gateway 192.168.1.1 \
|
||
ipv4.dns 8.8.8.8
|
||
# 激活配置使其生效
|
||
nmcli connection up "eth0"
|
||
|
||
# 配置动态 IP(DHCP)
|
||
# 将 IPv4 方法设置为自动以通过 DHCP 获取 IP
|
||
nmcli connection modify "eth0" ipv4.method auto
|
||
nmcli connection up "eth0"
|
||
|
||
# 添加多个 IP 地址
|
||
# 为连接 eth0 添加一个辅助 IP 地址
|
||
nmcli connection modify "eth0" +ipv4.addresses "192.168.1.101/24"
|
||
nmcli connection up "eth0"
|
||
|
||
|
||
```
|
||
# 磁盘管理
|
||
### LVM虚拟磁盘
|
||
#### LVM功能介绍
|
||
**LVM**(Logical Volume Manager,逻辑卷管理)是Linux系统中一种强大的**磁盘管理机制**,它在物理磁盘和文件系统之间增加了一个抽象层,使管理员能够**灵活地管理存储空间**。LVM通过将物理存储资源虚拟化,允许动态调整磁盘容量而无需重新分区或中断系统运行,极大提高了存储管理的便捷性和效率。
|
||
LVM的核心组件包括**物理卷(PV)**、**卷组(VG)**和**逻辑卷(LV)**。物理卷是LVM的基本存储单元,可以是整个物理磁盘或磁盘分区,卷组由一个或多个物理卷组成,形成一个存储池,用于统一管理物理存储资源
|
||
逻辑卷是从卷组中划分出的虚拟磁盘分区,可以在其上创建文件系统并挂载使用,LVM的最小存储单元是**物理扩展块(PE)**,默认大小为4MB,物理卷被划分为多个PE,逻辑卷则由多个逻辑扩展块(LE)组成,LE与PE一一对应。
|
||
LVM的**工作原理**是通过抽象层屏蔽下层物理磁盘的布局,提供统一的存储视图。管理员可以动态调整逻辑卷的大小,添加或移除物理卷,而无需关心数据的物理存储位置,这种机制使得存储管理更加灵活,特别适用于需要频繁调整存储空间的场景。
|
||
|
||
_表:LVM核心组件及其功能
|
||
|
||
|**组件**|**全称**|**功能描述**|
|
||
|---|---|---|
|
||
|**PV (Physical Volume)**|物理卷|LVM的基本存储单元,可以是物理磁盘或分区,被划分为多个PE|
|
||
|**VG (Volume Group)**|卷组|由一个或多个PV组成的存储池,用于集中管理物理存储资源|
|
||
|**LV (Logical Volume)**|逻辑卷|从VG中划分出的虚拟磁盘分区,可格式化为文件系统并挂载使用|
|
||
|**PE (Physical Extent)**|物理扩展块|PV中可分配的最小存储单元,默认大小为4MB|
|
||
|**LE (Logical Extent)**|逻辑扩展块|LV中可分配的最小存储单元,与PE大小相同且一一对应|
|
||
##### LVM分区与传统分区对比
|
||
|
||
|特性|传统分区|LVM (逻辑卷管理)|
|
||
|---|---|---|
|
||
|**灵活性**|分区大小固定,调整困难且风险高|**可动态调整**逻辑卷大小,无需重启|
|
||
|**存储池**|每个分区独立,无法合并使用|将**多个物理磁盘/分区**整合为单一存储池(卷组)|
|
||
|**扩展性**|新增硬盘需手动迁移数据|可轻松将新硬盘加入现有存储池,**无缝扩展**容量|
|
||
|**高级功能**|不支持|支持**快照**(用于备份)、**条带化、镜像**等|
|
||
|**管理复杂度**|简单直观|需要学习额外概念和命令|
|
||
|**性能**|无额外开销|有**轻微性能开销**|
|
||
|**数据恢复**|相对简单|略复杂,需专用工具|
|
||
|
||
**✅ 推荐使用 LVM 的场景:**
|
||
- **服务器环境**:需要灵活调整分区大小,避免因某个分区空间耗尽而停机维护
|
||
- **多磁盘系统**:希望轻松整合多个物理磁盘的容量,并能够从存储池中按需分配空间
|
||
- **需要高级功能**:如使用快照功能进行在线备份
|
||
- **不确定未来存储需求时**:LVM 提供了未来调整的余地,无需在初始分区时就精确设定不可更改的大小
|
||
**❌ 可能无需 LVM 的场景:**
|
||
- **简单的桌面系统**:磁盘分区结构固定,没有调整需求
|
||
- **嵌入式设备或小型系统**:对存储需求非常固定,且资源有限
|
||
- **对 I/O 性能极其敏感的应用**:希望避免 LVM 可能带来的轻微性能开销
|
||
|
||
|
||
#### 物理卷PV操作
|
||
```sh
|
||
# pvcreate将物理设备初始化为物理卷
|
||
pvcreate /dev/sdb1 #将分区/dev/sdb1初始化为物理卷
|
||
|
||
# pvdisplay显示物理卷的详细信息
|
||
pvdisplay /dev/sdb1 #显示指定物理卷的详细信息
|
||
|
||
# pvscan扫描系统中所有的物理卷
|
||
pvscan #列出系统中所有物理卷
|
||
|
||
# pvs以简洁格式显示物理卷信息
|
||
pvs #提供物理卷的概要信息
|
||
|
||
# pvremove移除物理卷上的LVM元数据
|
||
pvremove /dev/sdb1 #移除/dev/sdb1上的LVM标识,使其不再为物理卷
|
||
|
||
# pvmove在卷组中移动物理卷上的数据
|
||
pvmove /dev/sdb1 #将数据从/dev/sdb1移动到卷组中的其他物理卷
|
||
|
||
# pvchange更改物理卷的属性
|
||
pvchange -x n /dev/sdb1 #禁止从物理卷/dev/sdb1分配PE
|
||
```
|
||
#### 卷组VG操作
|
||
```sh
|
||
#vgcreate创建卷组
|
||
vgcreate my_vg /dev/sdb1 /dev/sdb2 #使用两个物理卷创建名为 my_vg的卷组
|
||
|
||
# vgdisplay显示卷组的详细信息
|
||
vgdisplay my_vg #显示指定卷组的详细信息
|
||
|
||
# vgscan扫描系统中所有的卷组
|
||
vgscan #检测并列出系统中所有卷组
|
||
|
||
# vgs以简洁格式显示卷组信息
|
||
vgs #提供卷组的概要信息
|
||
|
||
# vgextend扩展卷组容量(添加物理卷)
|
||
vgextend my_vg /dev/sdc1 #将物理卷/dev/sdc1添加到卷组my_vg中
|
||
|
||
# vgreduce缩减卷组容量(移除物理卷)
|
||
vgreduce my_vg /dev/sdb1 #从卷组my_vg中移除物理卷/dev/sdb1
|
||
|
||
# vgremove删除卷组
|
||
vgremove my_vg #删除名为 my_vg的卷组
|
||
|
||
# vgchange更改卷组属性(如激活/停用)
|
||
vgchange -a n my_vg #停用卷组 my_vg
|
||
|
||
# vgexport导出卷组
|
||
vgexport my_vg #将卷组 my_vg从系统中导出(常用于系统间移动卷组)
|
||
|
||
# vgimport导入卷组
|
||
vgimport my_vg #将卷组 my_vg导入系统
|
||
```
|
||
#### 逻辑卷LV操作
|
||
```sh
|
||
# lvcreate创建逻辑卷,大写L指定容量,小写l使用百分比
|
||
lvcreate -L 10G -n my_lv my_vg #在卷组 my_vg中创建大小为10G、名为 my_lv的逻辑卷
|
||
lvcreate -l 100%FREE -n lv_name vg_name #将卷组所有空间划分给逻辑卷
|
||
|
||
# lvdisplay显示逻辑卷的详细信息
|
||
lvdisplay /dev/my_vg/my_lv #显示指定逻辑卷的详细信息
|
||
|
||
# lvscan扫描系统中所有的逻辑卷
|
||
lvscan # 检测并列出系统中所有逻辑卷
|
||
|
||
# lvs以简洁格式显示逻辑卷信息
|
||
lvs #提供逻辑卷的概要信息
|
||
|
||
# lvextend扩展逻辑卷容量
|
||
lvextend -L +5G /dev/my_vg/my_lv #将逻辑卷 my_lv扩展5G
|
||
|
||
# lvreduce缩减逻辑卷容量 (需谨慎操作)
|
||
lvreduce -L -2G /dev/my_vg/my_lv #将逻辑卷 my_lv缩减2G (务必先备份数据并卸载文件系统)
|
||
|
||
# lvremove删除逻辑卷
|
||
lvremove /dev/my_vg/my_lv #删除逻辑卷 my_lv
|
||
|
||
# lvresize调整逻辑卷大小(扩展或缩减)
|
||
lvresize -L 15G /dev/my_vg/my_lv #将逻辑卷 my_lv大小调整为15G
|
||
|
||
# lvrename重命名逻辑卷
|
||
lvrename my_vg old_lv_name new_lv_name #将逻辑卷重命名
|
||
|
||
```
|
||
#### 创建新卷组和逻辑卷
|
||
```sh
|
||
# 1.使用lsblk命令查看磁盘设备树
|
||
# 2.将新磁盘初始化为lvm
|
||
sudo pvcreate /dev/sdb1
|
||
# 3.将一个或多个物理卷加入卷组
|
||
sudo vgcreate vg_name /dev/sdb1 /dev/sdc1
|
||
# 4.创建一个逻辑卷
|
||
sudo lvcreate -L 20G -n lv_name vg_name
|
||
# 5.格式化新创建的逻辑卷为ext4
|
||
sudo mkfs.ext4 /dev/vg_name/lv_name
|
||
# 挂载格式化后的逻辑卷
|
||
sudo mkdir /mnt/data && mount /dev/vg_name/lv_name /mnt/data
|
||
```
|
||
#### 逻辑卷扩容
|
||
```sh
|
||
# 1.使用lsblk命令查看磁盘设备树
|
||
# 2.将新磁盘初始化为lvm
|
||
sudo pvcreate /dev/sdb1
|
||
# 3.将新的物理卷加入卷组
|
||
sudo vgextend vg_name /dev/sdb1
|
||
# 4.扩展已有的lv逻辑卷
|
||
sudo lvextend -L +10G /dev/my_vg/my_lv
|
||
# 扩展逻辑卷后需要更新文件系统,新创建的不需要,否则df命令看不到空间扩容
|
||
# 针对ext4格式
|
||
resize2fs /dev/vg_data/lv_data
|
||
# 针对xfs格式
|
||
xfs_growfs /dev/vg_data/lv_data
|
||
# xfs系统不支持缩容,ext4缩容风险较高,注意备份
|
||
|
||
```
|
||
#### 移除LVM磁盘步骤
|
||
```sh
|
||
# 1.确认物理磁盘使用情况
|
||
pvs -o+pv_used
|
||
# 2.检查其他卷组是否有空间进行数据迁移
|
||
vgs
|
||
# 均匀迁移sdb1的数据到其他卷组
|
||
sudo pvmove /dev/sdb1
|
||
# 迁移sdb1的数据到指定卷组
|
||
sudo pvmove /dev/sdc1
|
||
# 使用pvs -o+used确认卷组清空,然后移除卷组
|
||
sudo vgreduce vg_name /dev/sdb1
|
||
# 移除物理卷元数据
|
||
sudo pvremove /dev/sdb1
|
||
|
||
```
|
||
## 挂载外置存储
|
||
```sh
|
||
# 挂载nfs存储
|
||
showmount -e 服务器地址 # 显示目标服务器的可挂载路径
|
||
sudo mkdir /mnt/nfs #创建挂载目录
|
||
sudo mount -t nfs 服务器地址:/path/name /mnt/nfs
|
||
|
||
# 挂载本地iso文件
|
||
sudo mkdir /mnt/iso
|
||
mount -o loop /path/file.iso /mnt/iso
|
||
|
||
|
||
```
|
||
|
||
|
||
# 安全管理
|
||
|
||
# 系统管理
|
||
|
||
# 用户管理
|
||
|
||
# 软件源管理
|
||
## 添加软件源
|
||
```sh
|
||
# 查看所有软件源
|
||
dnf repolist all
|
||
# 安装epel源
|
||
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
|
||
# 启用epel源
|
||
subscription-manager repos --enable epel
|
||
```
|
||
|
||
|
||
|