本文将从零开始通过一步一步操作来实现将主线U-Boot最新代码移植到Orange Pi 3(全志H6)开发板上并正常运行起来。本文从通用移植思路的角度,展现是思考的过程,通过这种方式希望能让读者一通百通,授之以渔,一定要读完!后续持续更新系统移植系列文章,欢迎关注、点赞、收藏。
2025年05月02日
本文将从零开始通过一步一步操作来实现将主线U-Boot最新代码移植到Orange Pi 3(全志H6)开发板上并正常运行起来。本文从通用移植思路的角度,展现是思考的过程,通过这种方式希望能让读者一通百通,授之以渔,一定要读完!后续持续更新系统移植系列文章,欢迎关注、点赞、收藏。
2025年05月02日
Nmap 是一款开放源的网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络, 又被称呼为上帝之眼,足以说明其功能强大。使用 Nmap 进行系统安全审计是一种高效的方式,可以发现局域网中潜在漏洞、开放端口、服务版本等信息。
2025年05月02日
逻辑卷实现镜像:
镜像:镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。对某个逻辑卷的数据做镜像,起到数据备份的作用。
当前环境:
[root@localhost ~]# lsblk
├─sdb3 8:19 0 2G 0 part
├─sdb4 8:20 0 2G 0 part
创建物理卷:
[root@localhost ~]# pvcreate /dev/sdb[34]
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb3 lvm2 --- 2.00g 2.00g
/dev/sdb4 lvm2 --- 2.00g 2.00g
将物理卷加入到vg1卷组:
[root@localhost ~]# vgextend vg1 /dev/sdb[34]
Volume group "vg1" successfully extended
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 4 1 0 wz--n- 7.98g 6.98g
创建实现镜像的逻辑卷:
[root@localhost ~]# lvcreate -n lv2 -L 1G vg1 -m 1 /dev/sdb[34]
Logical volume "lv2" created.
-m参数:给出镜像的个数;1表示1个镜像
[root@localhost ~]# lvs -a -o +devices
[root@localhost ~]# lvs -a -o +devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
root cl -wi-ao---- <17.00g /dev/sda2(512)
swap cl -wi-ao---- 2.00g /dev/sda2(0)
lv1 vg1 -wi-ao---- 1.00g /dev/sdb1(0),/dev/sdb2(0)
lv2 vg1 rwi-a-r--- 1.00g 100.00 lv2_rimage_0(0),lv2_rimage_1(0)
[lv2_rimage_0] vg1 iwi-aor--- 1.00g /dev/sdb3(1)
[lv2_rimage_1] vg1 iwi-aor--- 1.00g /dev/sdb4(1)
[lv2_rmeta_0] vg1 ewi-aor--- 4.00m /dev/sdb3(0)
[lv2_rmeta_1] vg1 ewi-aor--- 4.00m /dev/sdb4(0)
说明: Cpy%Sync 18.77该值是100%说明复制ok
格式化逻辑卷:
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv2
挂载使用
[root@localhost ~]# mount /dev/vg1/lv2 /lv2/
[root@localhost ~]# touch /lv2/file{1..10}
[root@localhost ~]# mkdir /lv2/dir{1..10}
测试验证:
思路:损坏一个磁盘,测试数据是否在第二个物理卷中
1. 使用dd命令破坏一个物理卷
[root@localhost ~]# dd if=/dev/zero of=/dev/sdb3 bs=1M count=100
2. 再次查看物理卷发现有一个unknown Device pvs命令
[unknown] vg1 lvm2 a-m <2.00g 1016.00m
3. 将损坏的盘从卷组中移除
[root@localhost ~]# vgreduce vg1 --removemissing --force
4. 再次查看挂载点/lv2数据依然存在
自己也可以再次测试:
1. 再拿刚刚人为损坏的盘做成物理卷再次加入到vg1卷组中
[root@localhost /]# pvcreate /dev/sdb3
[root@localhost /]# vgextend vg1 /dev/sdb3
2. 修复
[root@localhost /]# lvconvert --repair /dev/vg1/lv2 /dev/sdb[34]