linux-杂项
1、常用基础
防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld
find / -size +100M -ls
netstat -tunlp
iptables -nL
netstat -tuln
cat /etc/hosts.allow
cat /etc/hosts.deny
top
free -g
cat /etc/passwd
cat /etc/hosts.allow
cat /etc/hosts.deny
iptables -nL
iptables-save > /etc/sysconfig/iptables.txt
iptables-restore < /etc/sysconfig/iptables.txt
find / -name log*
find /path/to/search -type f -size +1G
lscpu - 查看CPU的相关信息。
free -h - 查看内存的使用情况,-h 参数让信息更易读。
df -h - 查看磁盘的使用情况,-h 参数同样有助于阅读。
fdisk -l - 查看磁盘分区表。
uname -a - 查看内核版本和系统架构。
lspci - 查看PCI设备(如显卡、声卡)。
lsusb - 查看USB设备。
lsmod - 查看加载的内核模块。
env - 查看环境变量,可能包含有关系统配置的信息。
/proc/cpuinfo - 查看CPU的详细信息。
/proc/meminfo - 查看内存的详细信息。
/proc/swaps - 查看使用的交换空间。
echo $PATH
~/.bashrc
/etc/environment 或 /etc/profile
cat /etc/*release*
这个命令会显示发行版相关的信息,比如发行版名称、版本号等。
lsb_release -a
lsb_release 命令会打印 Linux 标准基础(LSB)兼容发行版的所有信息。
uname -a
uname 命令显示了内核相关的信息,包括内核名称、版本等。
hostnamectl
如果您使用的是 systemd,hostnamectl 命令也会显示操作系统信息。
2、Linux之常用的压缩解压缩命令
1 解压命令
tar -xvf filename.tar
tar -zxvf filename.tar.gz
tar -zxvf filename.tgz
tar -jxvf filename.tar.bz2
tar -xZvf filename.tar.Z
unrar e filename.rar # 解压到当前目录
unrar x filename.rar /path/to/extract
unzip filename.zip -d filepath
tar.xz文件解压:先xz -d xxx.tar.xz到tar,然后tar xvf xxx.tar
2 压缩命令
tar -zcvf filename.tar.gz filename
tar -zcvf filename.tgz filename
tar -jcvf filename.tar.bz2 filename
zip filename.zip filename
zip -r location.zip location
gzip -d filename.gz filename
rar -a filename.rar filename
3 多个压缩文件
如果遇到某个文件夹过大,需要将压缩文件跟个成 N 个指定大小的文件,便于邮件等方式传输,可以使用下边的方法
首先先压缩成一个大文件
tar -zcvf filename.tar.gz filenam
然后使用 split 指令进行切分
split -b 4000M -d -a 1 filename.tar.gz filename.tar.gz.
cat filename.tar.gz | split -b 4000M -d -a 1 filename.tar.gz.
3、查看机器满
1、查看下面这个目录看看是否是回收站满了
2、查看/tmp目录和/var目录是否有大文件
3、查看下面这个目录加下面的文件是否很大
修改/etc/updatedb.conf
在PRUNEPATHS 参数后面增加不需要进行locate的目录,修改完成后执行
执行这个命令: updatedb
mlocate.db 会明显减少。
4、查找一些大文件删除,例如日志,打包的压缩包等
下面这个命令查找大于100M的文件
find 查找路径 -type f -size +1000000k | xargs ls -lat
4、Linux 查看端口占用情况
Linux 查看端口占用情况Linux 查看端口占用情况可以使用 lsof 和 netstat 命令。
lsof
lsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
lsof -i:端口号
实例
查看服务器 8000 端口的占用情况:
# lsof -i:8000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nodejs 26993 root 10u IPv4 37999514 0t0 TCP *:8000 (LISTEN)
可以看到 8000 端口已经被轻 nodejs 服务占用。
lsof -i 需要 root 用户的权限来执行,如下图:
lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件
netstat
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
例如查看 8000 端口的情况,使用以下命令:
# netstat -tunlp | grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 26993/nodejs
更多命令:
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
5、Linux 挂载磁盘详解及实操步骤
挂载磁盘是一项重要的操作,可以用于扩展存储空间,管理数据文件,备份和存储重要文件等。本文将详细介绍Linux系统中挂载磁盘的相关概念、步骤和实际操作指南。
一、磁盘分区
在Linux中,磁盘是通过分区来使用的。分区是将一个硬盘划分成几个逻辑部分来使用,在每个分区中可以存储不同的文件系统。因此,在挂载磁盘之前,我们需要先对磁盘进行分区。磁盘分区的过程可以通过命令行工具或图形界面工具来完成。
常用的磁盘分区工具有:
cfdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR和GPT分区表。
fdisk:命令行工具,适用于创建主分区和扩展分区,支持MBR分区表。
gdisk:命令行工具,适用于创建主分区、扩展分区和逻辑分区,支持GPT分区表。
gparted:图形界面工具,适用于创建主分区、扩展分区和逻辑分区,支持MBR和GPT分区表。
分区的目的是将一个硬盘划分成多个逻辑部分,每个部分可以单独使用和管理。当然,分区并不是必需的,我们也可以直接将整个硬盘作为一个单一的分区进行挂载。
二、文件系统
在Linux中,文件系统是挂载磁盘的重要概念。文件系统是指一种组织数据的方式,可以帮助我们在磁盘上存储和管理文件。常见的Linux文件系统有ext2、ext3、ext4、XFS等。
在挂载磁盘之前,我们需要先在磁盘上创建文件系统。创建文件系统的命令为mkfs。
例如,若要创建一个ext4文件系统,只需要运行以下命令:
mkfs.ext4 /dev/sdb1
其中"/dev/sdb1"表示要创建文件系统的分区。
三、挂载磁盘
在Linux中,挂载磁盘的命令为mount。在挂载磁盘之前,我们需要保证文件系统已经被创建,同时需要知道要挂载的设备和挂载点。
设备指的是要挂载的物理磁盘或分区,它的标识通常以/dev开头,后面跟着分区信息(如/dev/sda1)。
挂载点指的是要将设备挂载到哪个目录下,这个目录称为挂载点。挂载点通常是一个空目录,它必须存在于文件系统中才能被用作挂载点。
例如,我们要将一个ext4文件系统挂载到/mnt/data这个目录下,只需要运行以下命令:
mount /dev/sdb1 /mnt/data
这里"/dev/sdb1"是要挂载的设备,"/mnt/data"是挂载点。
四、开机自动挂载
在Linux中,如果要让磁盘在每次开机后自动挂载到指定的目录下,我们需要将挂载信息写入/etc/fstab文件中。
/etc/fstab是Linux系统中用于存储文件系统挂载信息的文件。它包含了系统启动时需要挂载的所有文件系统的信息,以及挂载时使用的选项。
我们需要在/etc/fstab文件中添加一个新的行来描述我们要挂载的文件系统。每一行包含了如下信息:
设备:要挂载的设备名称,例如/dev/sdb1。
挂载点:要将设备挂载到哪个目录下。
文件系统类型:要挂载的文件系统类型,例如ext4。
挂载选项:用于控制挂载行为的选项,例如noatime(不更新访问时间)和defaults(使用默认选项)等。
挂载次序:系统应该以什么顺序挂载文件系统,例如0表示最先挂载。
例如,我们要将设备/dev/sdb1挂载到/mnt/data目录下,并使用ext4文件系统类型,同时在挂载时使用默认选项和noatime选项。我们需要在/etc/fstab文件中添加以下行:
/dev/sdb1 /mnt/data ext4 defaults,noatime 0 0
这样,在每次开机后,系统会自动挂载/dev/sdb1到/mnt/data目录下,并应用我们指定的挂载选项。
五、卸载磁盘
在Linux中,卸载磁盘的命令为umount。卸载磁盘之前,需要先检查磁盘上是否有进程在使用它。如果有,则需要先终止相应的进程,才能安全地卸载磁盘。
例如,若要卸载/mnt/data目录下的文件系统,只需要运行以下命令:
umount /mnt/data
六、实际操作
1. 使用lsblk命令查看新加入的磁盘信息
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 8G 0 part [SWAP]
└─sda3 8:3 0 21.5G 0 part /
sdb 8:16 0 100G 0 disk
从上述结果可以看出,系统中新加了一个磁盘设备/dev/sdb。
2. 使用fdisk或者cfdisk分区新磁盘,并将分区标记为Linux文件系统类型(83)
例如使用fdisk命令:
$ sudo fdisk /dev/sdb
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199):
Created a new partition 1 of type 'Linux' and of size 100 GiB.
Command (m for help): t
Selected partition 1
Partition type (type L to list all types): 83
Changed type of partition 'Linux' to 'Linux'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
3. 格式化新分区,使用mkfs命令
$ sudo mkfs -t ext4 /dev/sdb1
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: 882b7297-1258-4e23-9d03-cf20654455b9
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done
4. 创建挂载目录,使用mkdir命令
$ sudo mkdir /mnt/data
5. 挂载分区,使用mount命令
$ sudo mount /dev/sdb1 /mnt/data
6. 验证挂载是否成功,使用df -h命令查看所有文件系统的储存器使用情况:
$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 793M 1.7M 792M 1% /run
/dev/sda3 22G 1.5G 19G 8% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 511M 4.0K 511M 1% /boot/efi
tmpfs 793M 0 793M 0% /run/user/1000
/dev/sdb1 99G 72M 94G 1% /mnt/data
从上述结果可以看出,新分区已经被成功挂载到/mnt/data目录下。
7. 添加自动挂载,编辑/etc/fstab文件,添加以下内容:
$ sudo su
$ echo '/dev/sdb1 /mnt/data ext4 defaults 0 2' >> /etc/fstab
七、总结
挂载磁盘是Linux系统中一个基本的操作,它可以帮助我们扩展存储空间,管理数据文件,备份和存储重要文件等。在挂载磁盘之前,我们需要先对磁盘进行分区,并且在分区上创建文件系统。然后,我们需要使用mount命令将设备挂载到指定的目录下,并在必要时使用/etc/fstab文件配置开机自动挂载。最后,在卸载磁盘之前,需要先检查是否有进程在使用磁盘,并终止相应的进程。
----------------------------------------
lsblk
df -hT
二、硬盘分区
2.1创建主分区
[root@mysql ~]# fdisk /dev/sdf
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xade929fa 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1):
第一个扇区 (2048-6291455, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-6291455, 默认 6291455): +1G
创建了一个新分区 1,类型为“Linux”,大小为 1 GiB。
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
2.2创建扩展分区
[root@mysql ~]# fdisk /dev/sdf
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
分区类型
p 主分区 (1个主分区,0个扩展分区,3空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (2-4, 默认 2): 2
第一个扇区 (2099200-6291455, 默认 2099200):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2099200-6291455, 默认 6291455):
创建了一个新分区 2,类型为“Extended”,大小为 2 GiB。
命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 5
第一个扇区 (2101248-6291455, 默认 2101248):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2101248-6291455, 默认 6291455): +1G
创建了一个新分区 5,类型为“Linux”,大小为 1 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdf:3 GiB,3221225472 字节,6291456 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xade929fa
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdf1 2048 2099199 2097152 1G 83 Linux
/dev/sdf2 2099200 6291455 4192256 2G 5 扩展
/dev/sdf5 2101248 4198399 2097152 1G 83 Linux
[root@mysql ~]# partprobe /dev/sdf //更新硬盘分区信息
三、格式化硬盘
3.1 mkfs
[root@mysql ~]# mkfs.ext4 /dev/sdf1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 262144 个块(每块 4k)和 65536 个inode的文件系统
文件系统UUID:102cb0d3-e73d-4ced-bd9d-b342486ee626
超级块的备份存储于下列块:
32768, 98304, 163840, 229376
正在分配组表: 完成
正在写入inode表: 完成
创建日志(8192 个块)完成
写入超级块和文件系统账户统计信息: 已完成
3.2挂载硬盘
[root@mysql ~]# mkdir /mnt/disk1
[root@mysql ~]# mount -t ext4 /dev/sdf1 /mnt/disk1/
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
/dev/sdf1 ext4 976M 2.6M 907M 1% /mnt/disk1
3.3卸载硬盘
[root@mysql ~]# umount /mnt/disk1/
root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
四swap分区管理
4.1swap分区大小查看
[root@mysql ~]# free -m
total used free shared buff/cache available
Mem: 3709 650 2681 16 377 2813
Swap: 4031 0 4031
4.2创建swap分区
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 3G 0 disk
├─sdf1 8:81 0 1G 0 part
├─sdf2 8:82 0 1K 0 part
└─sdf5 8:85 0 1G 0 part
sdg 8:96 0 3G 0 disk
sr0 11:0 1 8.6G 0 rom
[root@mysql ~]# fdisk /dev/sdg
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x2e5c8dd1 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1):
第一个扇区 (2048-6291455, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-6291455, 默认 6291455):
创建了一个新分区 1,类型为“Linux”,大小为 3 GiB。
命令(输入 m 获取帮助):p
Disk /dev/sdg:3 GiB,3221225472 字节,6291456 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2e5c8dd1
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdg1 2048 6291455 6289408 3G 83 Linux
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”。
命令(输入 m 获取帮助):p
Disk /dev/sdg:3 GiB,3221225472 字节,6291456 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x2e5c8dd1
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdg1 2048 6291455 6289408 3G 82 Linux swap / Solaris
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
备注:新版本ID不用改也可以。改了好,不改后期看的话容易蒙
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 3G 0 disk
├─sdf1 8:81 0 1G 0 part
├─sdf2 8:82 0 1K 0 part
└─sdf5 8:85 0 1G 0 part
sdg 8:96 0 3G 0 disk
└─sdg1 8:97 0 3G 0 part
sr0 11:0 1 8.6G 0 rom
4.3格式化swap分区
[root@mysql ~]# mkswap /dev/sdg1
正在设置交换空间版本 1,大小 = 3 GiB (3220172800 个字节)
无标签,UUID=553a85b1-7f97-4275-b974-82d3e9dbef5bls
4.4挂载swap分区
[root@mysql ~]# swapon /dev/sdg1
[root@mysql ~]# free -m
total used free shared buff/cache available
Mem: 3709 652 2679 16 377 2811
Swap: 7102 0 7102
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 3G 0 disk
├─sdf1 8:81 0 1G 0 part
├─sdf2 8:82 0 1K 0 part
└─sdf5 8:85 0 1G 0 part
sdg 8:96 0 3G 0 disk
└─sdg1 8:97 0 3G 0 part [SWAP]
sr0 11:0 1 8.6G 0 rom
4.5卸载swap分区
[root@mysql ~]# swapoff /dev/sdg1
[root@mysql ~]# free -m
total used free shared buff/cache available
Mem: 3709 650 2681 16 377 2813
Swap: 4031 0 4031
五、逻辑卷管理
5.1查看硬盘信息
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 3G 0 disk
sdg 8:96 0 3G 0 disk
sr0 11:0 1 8.6G 0 rom
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
5.2创建物理卷
[root@mysql ~]# pvcreate /dev/sdf
Physical volume “/dev/sdf” successfully created.
5.3创建卷组
[root@mysql ~]# vgcreate vg1 /dev/sdf
Volume group “vg1” successfully created
5.4创建逻辑卷
[root@mysql ~]# lvcreate -L +2G -n lv1 /dev/vg1
Logical volume “lv1” created.
5.5格式化逻辑卷
[root@mysql ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.45.6 (20-Mar-2020)
创建含有 524288 个块(每块 4k)和 131072 个inode的文件系统
文件系统UUID:e915c955-e830-4710-8cf3-ed03e5663025
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
5.6挂载逻辑卷
[root@mysql ~]# mkdir /mnt/lv1
[root@mysql ~]# mount -t ext4 /dev/vg1/lv1 /mnt/lv1/
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 2.0G 6.0M 1.8G 1% /mnt/lv1
5.7卷组扩容
[root@mysql ~]# pvcreate /dev/sdg
Physical volume “/dev/sdg” successfully created.
[root@mysql ~]# vgextend vg1 /dev/sdg
Volume group “vg1” successfully extended
[root@mysql ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 3 0 wz–n- <99.00g 0
vg1 2 1 0 wz–n- 5.99g 3.99g
5.8逻辑卷扩容
root@mysql ~]# lvextend -L +3G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).
Logical volume vg1/lv1 successfully resized.
[root@mysql ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home cl -wi-ao---- 31.18g
root cl -wi-ao---- <63.88g
swap cl -wi-ao---- ️.94g
lv1 vg1 -wi-ao---- 5.00g
5.9查看扩容后的空间(resize2fs /dev/vg1/lv1)
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 2.0G 6.0M 1.8G 1% /mnt/lv1
[root@mysql ~]# resize2fs /dev/vg1/lv1
resize2fs 1.45.6 (20-Mar-2020)
/dev/vg1/lv1 上的文件系统已被挂载于 /mnt/lv1;需要进行在线调整大小
old_desc_blocks = 1, new_desc_blocks = 1
/dev/vg1/lv1 上的文件系统现在为 1310720 个块(每块 4k)。
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 4.9G 8.0M 4.7G 1% /mnt/lv1
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sde 8:64 0 2G 0 disk
sdf 8:80 0 3G 0 disk
└─vg1-lv1 253:3 0 5G 0 lvm /mnt/lv1
sdg 8:96 0 3G 0 disk
└─vg1-lv1 253:3 0 5G 0 lvm /mnt/lv1
sr0 11:0 1 8.6G 0 rom
六、软raid
6.1创建raid
[root@mysql ~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
备注:-C创建RAID
/dev/md0 第一个raid设备
-l5 RAID5
-n RAID成员数量
-x 热备磁盘数量 (不需要热备,不用写)
[root@mysql ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 99G 0 part
├─cl-root 253:0 0 63.9G 0 lvm /
├─cl-swap 253:1 0 4G 0 lvm [SWAP]
└─cl-home 253:2 0 31.2G 0 lvm /home
sdb 8:16 0 2G 0 disk
└─md0 9:0 0 4G 0 raid5
sdc 8:32 0 2G 0 disk
└─md0 9:0 0 4G 0 raid5
sdd 8:48 0 2G 0 disk
└─md0 9:0 0 4G 0 raid5
sde 8:64 0 2G 0 disk
└─md0 9:0 0 4G 0 raid5
sdf 8:80 0 3G 0 disk
└─vg1-lv1 253:3 0 5G 0 lvm /mnt/lv1
sdg 8:96 0 3G 0 disk
└─vg1-lv1 253:3 0 5G 0 lvm /mnt/lv1
sr0 11:0 1 8.6G 0 rom
6.2格式化raid盘
[root@mysql ~]# mkfs.ext4 /dev/md0
mke2fs 1.45.6 (20-Mar-2020)
创建含有 1047040 个块(每块 4k)和 262144 个inode的文件系统
文件系统UUID:8a7a23b6-ea08-4b05-a539-a67b4d4360e8
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成
6.3挂载raid盘
[root@mysql ~]# mkdir /mnt/raid5
[root@mysql ~]# mount -t ext4 /dev/md0 /mnt/raid5/
[root@mysql ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 17M 1.8G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 64G 2.5G 62G 4% /
/dev/sda1 xfs 1014M 193M 822M 19% /boot
/dev/mapper/cl-home xfs 32G 255M 31G 1% /home
tmpfs tmpfs 371M 0 371M 0% /run/user/0
/dev/mapper/vg1-lv1 ext4 4.9G 8.0M 4.7G 1% /mnt/lv1
/dev/md0 ext4 3.9G 16M 3.7G 1% /mnt/raid5
6.4查看raid详细信息
[root@mysql ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Jan 1 09:07:43 2022
Raid Level : raid5
Array Size : 4188160 (3.99 GiB 4.29 GB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
----------------------------------------
6、
linux-杂项的更多相关文章
- linux杂项
重装后激活root帐号并设置密码 sudo passwd root sudo: netstat:找不到命令 安装net-tools:sudo apt-get install net-tools Com ...
- linux driver ------ platform模型,通过杂项设备(主设备号是10)注册设备节点
注册完设备和驱动之后,就需要注册设备节点 Linux杂项设备出现的意义在于:有很多简单的外围字符设备,它们功能相对简单,一个设备占用一个主设备号对于内核资源来说太浪费.所以对于这些简单的字符设备它们共 ...
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读
2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- grub2 详解
grub2详解(翻译和整理官方手册) 分类: Linux 基础篇,Linux 杂项 本文原创地址在博客园:https://www.cnblogs.com/f-ck-need-u/archive ...
- linux驱动初探之杂项设备(控制两个GPIO口)
关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...
- Linux驱动设计——字符杂项设备
杂项设备 linux里面的misc杂项设备是主设备号为10的驱动设备,misc设备其实也就是特殊的字符设备,可自动生成设备节点. 定义头文件<linux/miscdevice.h> 杂 ...
- 9、Linux驱动的杂项设备
杂项设备,是字符设备中的特殊,它的主设备号,是 10,不同的杂项设备,通过次设备号进行区分. 1.注册与注销 int misc_register(struct miscdevice * misc) 完 ...
- Linux 进程IO杂项
Linux 进程IO杂项 本文结合一个 pwn 例题,在分析例题的过程中穿插介绍相关知识. 例题来源:PWNABLE.KR 网站,Toddler's Bottle 小节,习题 input. 例题内容: ...
- Linux 驱动框架---cdev字符设备驱动和misc杂项设备驱动
字符设备 Linux中设备常见分类是字符设备,块设备.网络设备,其中字符设备也是Linux驱动中最常用的设备类型.因此开发Linux设备驱动肯定是要先学习一下字符设备的抽象的.在内核中使用struct ...
随机推荐
- PME算法简单Python实现
技术背景 在前面的两篇博客中,我们分别介绍了Ewald算法求解静电势能和基于格点拉格朗日插值法的PME算法.在多种计算优化算法(Ewald求和.快速傅里叶变换.格点拉格朗日插值.截断近似)的加持下,使 ...
- 经典C语言题目——打印罗汉塔图形
打印如下图形: ++++1 +++22 ++333 +4444 55555 点击查看代码 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> ...
- 【Spring】IOC核心源码学习(二):容器初始化过程
接上文 啃啃老菜: Spring IOC核心源码学习(一) ,本文将以 ClassPathXmlApplicationContext 这个容器的实现作为基础,学习容器的初始化过程. ClassPath ...
- Java深度历险(一)——Java字节代码的操纵
[编者按]Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于Java语言的深度理解和运用,毕竟是很少会有人涉及的 ...
- Git之清除历史记录操作
近期公司需要将之前代码仓库中的提交记录都清理,所以操作一下,记录一下步骤: 安全考虑: 有时候在提交代码时,不小心提交了敏感数据,如账号密码什么的,这样在历史记录中就可以查看到,这样很不安全,所以就需 ...
- JDBC【4】-- jdbc预编译与拼接sql对比
在jdbc中,有三种方式执行sql,分别是使用Statement(sql拼接),PreparedStatement(预编译),还有一种CallableStatement(存储过程),在这里我就不介绍C ...
- Linux C/C++编程中的多线程编程基本概念
8.2.1 操作系统和多线程 要在应用程序中实现多线程,必须有操作系统的支持.Linux 32位或64位操作系统对应用程序提供了多线程的支持,所以Windows NT/2000/XP/7/8/10是 ...
- docker 批量删除镜像
删除虚悬镜像 列出REPOSITORY和TAG均为<none>的虚悬镜像: $ docker images --filter dangling=true REPOSITORY TAG IM ...
- Gitee三方登录_Python (超详细)
第三方登录是一种常见的身份验证机制,允许用户使用他们在其他平台(如社交媒体.电子邮件服务或开发平台)的账号来登录你的应用或网站,而不需要创建新的用户名和密码.这种方式不仅简化了用户的登录过程,还提高了 ...
- 【Python】【爬虫】【爬狼】003_获取搜索结果的页数
# 获取搜索内容的页数 需要的包 import urllib.request # 获取网页源码 import re # 正则表达式,进行文字匹配 from bs4 import BeautifulSo ...