逻辑卷管理(LVM)入门指南

立即解锁
发布时间: 2025-09-13 00:43:05 阅读量: 8 订阅数: 20 AIGC
# 逻辑卷管理(LVM)入门指南 ## 1. 逻辑卷管理(LVM)的必要性 在系统管理中,磁盘空间管理一直是一项重要任务。过去,当磁盘空间不足时,管理员需要执行一系列复杂的操作来增加磁盘分区的可用空间,这通常还需要让系统离线。具体步骤包括: 1. 安装新的硬盘。 2. 进入恢复或单用户模式。 3. 在新硬盘上创建分区和文件系统。 4. 使用临时挂载点将数据从空间不足的文件系统移动到新的、更大的文件系统。 5. 修改 `/etc/fstab` 文件以反映新分区的正确设备名称。 6. 重新启动系统以在正确的挂载点重新挂载新的文件系统。 而逻辑卷管理(LVM)的出现改变了这一状况。LVM 允许非常灵活的磁盘空间管理,它具有以下优点: - 可以在不重启或卸载现有文件系统的情况下,向文件系统添加(或移除)磁盘空间。 - 能够将多个物理存储设备和分区组合成一个单一的卷组(VG),然后将卷组划分为逻辑卷(LV)。 - 可以创建全新的卷组和逻辑卷。 ### 1.1 虚拟盒子(VirtualBox)中磁盘空间不足的场景 在新发行版发布后,很多人会选择在 VirtualBox 虚拟机中运行一段时间,以确保在生产环境中安装时不会遇到重大问题。有一次,在安装 Fedora 时,安装到大约三分之一时,主机文件系统的磁盘空间不足。幸运的是,VirtualBox 检测到了空间不足的情况,暂停了虚拟机,并显示了错误消息。 ### 1.2 恢复过程 由于 Fedora 和大多数现代发行版使用逻辑卷管理,并且硬盘上还有一些可用空间,因此可以在不重新格式化整个硬盘、不重新安装操作系统甚至不重启的情况下,为相应的文件系统分配额外的磁盘空间。具体操作是将一些可用空间分配给相应的逻辑卷,并调整文件系统的大小,整个过程中文件系统处于挂载和活动状态,运行的程序(如 VirtualBox)仍在使用该文件系统。之后,继续运行虚拟机,安装过程就像什么都没发生一样继续进行。 ## 2. LVM 结构 LVM 磁盘环境的结构允许将多个单独的存储设备和/或磁盘分区组合成一个单一的卷组。卷组可以再细分为逻辑卷,也可以作为一个大的单一卷使用。然后可以在逻辑卷上创建常规的文件系统,如 EXT3 或 EXT4。 ### 2.1 结构示例 假设有两个完整的物理存储设备和第三个硬盘的一个分区,它们可以组合成一个单一的卷组。从这个卷组的空间中创建两个逻辑卷,并在每个逻辑卷上创建一个文件系统,如 EXT4 文件系统。 ### 2.2 扩展逻辑卷 如果要向逻辑卷添加空间,可以按以下规则操作: - 如果卷组中有可用空间,可以将逻辑卷扩展到该空间中。 - 如果没有可用空间,可能需要安装新的硬盘,并将现有卷组扩展以包含新硬盘的至少一部分,然后在卷组内扩展逻辑卷。 需要注意的是,逻辑卷的大小不能超过其所在的卷组,而卷组可以包含多个分区和物理卷(PV),这些物理卷可以涵盖多个存储设备的部分或全部。卷组也可以扩展以提供更多的磁盘空间给包含的逻辑卷。 以下是 LVM 结构的 mermaid 流程图: ```mermaid graph LR classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; A(物理存储设备/分区):::process --> B(卷组 VG):::process B --> C(逻辑卷 LV1):::process B --> D(逻辑卷 LV2):::process C --> E(文件系统 EXT4):::process D --> F(文件系统 EXT4):::process ``` ## 3. 扩展逻辑卷 扩展现有文件系统的需求从 Unix 早期就存在了,在 Linux 中,借助逻辑卷管理和扩展活动、挂载文件系统的能力,这个过程变得更加容易。以下是在卷组中有可用空间的情况下,扩展现有逻辑卷的步骤: ### 3.1 适用条件 此过程仅适用于 Linux 2.6 内核(及更高版本)和 EXT3、EXT4、BTRFS 文件系统。由于最新的内核系列是 5.x.x,并且大多数发行版默认使用 EXT3、EXT4 或 BTRFS 文件系统,因此这些要求通常不难满足。 ### 3.2 操作步骤 #### 3.2.1 检查卷组和逻辑卷信息 使用以下命令列出所有卷组和逻辑卷: ```bash [root@studentvm1 ~]# lsblk -i NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 60G 0 disk |-sda1 8:1 0 1M 0 part |-sda2 8:2 0 1G 0 part /boot |-sda3 8:3 0 1G 0 part /boot/efi `-sda4 8:4 0 58G 0 part |-fedora_studentvm1-root 253:0 0 2G 0 lvm / |-fedora_studentvm1-usr 253:1 0 15G 0 lvm /usr |-fedora_studentvm1-tmp 253:2 0 5G 0 lvm /tmp |-fedora_studentvm1-var 253:3 0 10G 0 lvm /var |-fedora_studentvm1-home 253:4 0 2G 0 lvm /home `-fedora_studentvm1-test 253:5 0 500M 0 lvm /test sdb 8:16 0 20G 0 disk |-sdb1 8:17 0 2G 0 part `-sdb2 8:18 0 2G 0 part sr0 11:0 1 1024M 0 rom zram0 252:0 0 8G 0 disk [SWAP] [root@studentvm1 ~]# vgs VG #PV #LV #SN Attr VSize VFree fedora_studentvm1 1 6 0 wz--n- <58.00g <23.51g [root@studentvm1 ~]# lvs LV VG Attr LSize Pool Origin Data% ... home fedora_studentvm1 -wi-ao---- 2.00g root fedora_studentvm1 -wi-ao---- 2.00g test fedora_studentvm1 -wi-ao---- 500.00m tmp fedora_studentvm1 -wi-ao---- 5.00g usr fedora_studentvm1 -wi-ao---- 15.00g var fedora_studentvm1 -wi-ao---- 10.00g ``` 这些命令显示 `/home` 文件系统位于 `fedora_studentvm1` 卷组中,并且该卷组中有 23.51GB 的可用空间。 #### 3.2.2 扩展逻辑卷 使用以下命令将逻辑卷扩展 2GB: ```bash [root@studentvm1 ~]# lvextend -L +2G /dev/fedora_studentvm1/home Size of logical volume fedora_studentvm1/home changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents). Logical volume fedora_studentvm1/home successfully resized. ``` #### 3.2.3 调整文件系统大小 扩展逻辑卷后,文件系统的大小并未改变。使用以下命令调整文件系统的大小以填充逻辑卷的空间: ```bash [root@studentvm1 ~]# resize2fs /dev/fedora_studentvm1/home ; df -h resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/fedora_studentvm1/home is mounted on /home; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/fedora_studentvm1/home is now 1048576 (4k) blocks long. Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 7.9G 12K 7.9G 1% /dev/shm tmpfs 3.2G 1.2M 3.2G 1% /run /dev/mapper/fedora_studentvm1-root 2.0G 631M 1.2G 35% / /dev/mapper/fedora_studentvm1-usr 15G 5.8G 8.2G 42% /usr /dev/sda2 974M 280M 628M 31% /boot /dev/mapper/fedora_studentvm1-var 9.8G 659M 8.6G 7% /var /dev/sda3 1022M 18M 1005M 2% /boot/efi /dev/mapper/fedora_studentvm1-test 459M 1.1M 429M 1% /test /dev/mapper/fedora_studentvm1-home 3.9G 1.4G 2.4G 37% /home /dev/mapper/fedora_studentvm1-tmp 4.9G 160K 4.6G 1% /tmp tmpfs 1.6G 72K 1.6G 1% /run/user/984 tmpfs 1.6G 64K 1.6G 1% /run/user/0 ``` 通过以上步骤,成功地在不重启或卸载文件系统的情况下,为活动的 `/home` 文件系统添加了 2GB 的空间。 ### 1.3 注意事项 并非所有文件系统类型都可以调整大小。EXT3、EXT4、BTRFS 和 XFS 文件系统可以在活动、挂载的文件系统上进行扩展,在卸载的文件系统上可以进行缩减。其他文件系统可能无法调整大小,因此在调整文件系统大小时,务必查看相应文件系统的文档以确保可以进行操作。 ## 4. 创建和扩展卷组 卷组的使用为磁盘空间管理提供了很大的灵活性,特别是在需要为一个或多个逻辑卷添加更多空间时。下面将介绍创建新卷组和扩展现有卷组的方法。 ### 4.1 创建新卷组 有时候需要创建一个新的卷组来包含一个或多个新的逻辑卷。例如,在 `/dev/sdb` 上有一个 2GB 的未使用分区和大约 16GB 尚未分区的空间。以下是创建新卷组的具体步骤: #### 4.1.1 验证磁盘空间 使用 `lsblk` 命令验证 `/dev/sdb` 上剩余的空间: ```bash [root@studentvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk |-sda1 8:1 0 1G 0 part /boot `-sda2 8:2 0 59G 0 part |-fedora_studentvm1-root 253:0 0 2G 0 lvm / |-fedora_studentvm1-swap 253:1 0 4G 0 lvm [SWAP] |-fedora_studentvm1-usr 253:2 0 15G 0 lvm /usr |-fedora_studentvm1-home 253:3 0 4G 0 lvm /home |-fedora_studentvm1-var 253:4 0 10G 0 lvm /var `-fedora_studentvm1-tmp 253:5 0 5G 0 lvm /tmp sdb 8:16 0 20G 0 disk |-sdb1 8:17 0 2G 0 part /TestFS `-sdb2 8:18 0 2G 0 part ``` 该命令显示 `/dev/sdb` 驱动器总共有 20GB 的空间,`/TestFS` 分区(`/dev/sdb1`)和 `/dev/sdb2` 分区各使用了 2GB,剩余未分配的空间约为 16GB。 #### 4.1.2 创建新分区 在 `/dev/sdb` 上创建一个新的主分区,使用驱动器上剩余的空间,新的 `/dev/sdb3` 分区大小将为 16GB。创建完成后,验证分区是否创建成功。 #### 4.1.3 创建物理卷(PV) 使用以下命令在 `/dev/sdb2` 和 `/dev/sdb3` 分区上创建物理卷: ```bash [root@studentvm1 ~]# pvcreate /dev/sdb2 /dev/sdb3 WARNING: btrfs signature detected on /dev/sdb2 at offset 65600. Wipe it? [y/n]: y Wiping btrfs signature on /dev/sdb2. Physical volume "/dev/sdb2" successfully created. Physical volume "/dev/sdb3" successfully created. ``` #### 4.1.4 创建卷组 使用以下命令创建一个包含 `/dev/sdb2` 和 `/dev/sdb3` 分区的卷组: ```bash [root@studentvm1 ~]# vgcreate NewVG-01 /dev/sdb2 /dev/sdb3 Volume group "NewVG-01" successfully created ``` #### 4.1.5 验证新卷组 使用 `vgs` 命令验证新卷组: ```bash [root@studentvm1 ~]# vgs VG #PV #LV #SN Attr VSize VFree NewVG-01 2 0 0 wz--n- 17.99g 17.99g fedora_studentvm1 1 6 0 wz--n- <58.00g <21.51g ``` 可以看到新卷组 `NewVG-01` 的总大小约为 18GB,且所有空间都可用。 #### 4.1.6 创建逻辑卷 使用以下命令在新卷组中创建一个 2GB 的逻辑卷: ```bash [root@studentvm1 ~]# lvcreate -L 2G NewVG-01 --name TestVol1 Logical volume "TestVol1" created. ``` #### 4.1.7 创建文件系统并挂载测试 在新的逻辑卷上创建 EXT4 文件系统,临时挂载到 `/mnt` 并进行测试: ```bash [root@studentvm1 ~]# mkfs -t ext4 /dev/mapper/NewVG--01-TestVol1 mke2fs 1.46.5 (30-Dec-2021) Creating filesystem with 524288 4k blocks and 131072 inodes Filesystem UUID: 67e5badd-933b-4bb8-9851-3eed9cb16553 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done [root@studentvm1 ~]# mount /dev/mapper/NewVG--01-TestVol1 /mnt [root@studentvm1 ~]# ll /mnt total 16 drwx------ 2 root root 16384 Feb 16 16:04 lost+found ``` 可以在 `/mnt` 下创建一些测试文件,验证新卷组和逻辑卷是否正常工作。测试完成后,卸载该卷。 ### 4.2 总结 通过以上步骤,我们成功地创建了一个新的卷组,并在其中创建了一个逻辑卷,还在逻辑卷上创建了文件系统并进行了测试。这个过程展示了如何将多个分区组合成一个单一的卷组,并在卷组中创建逻辑卷,充分体现了 LVM 在磁盘空间管理方面的灵活性。 通过本文的介绍,你应该对逻辑卷管理(LVM)有了更深入的了解,包括其优势、结构、扩展逻辑卷以及创建和扩展卷组的方法。在实际应用中,合理运用 LVM 可以大大提高磁盘空间管理的效率和灵活性。 ## 5. 扩展现有卷组 除了创建新的卷组,扩展现有卷组也是常见的需求,特别是当现有的逻辑卷需要更多空间时。以下将详细介绍扩展现有卷组的步骤。 ### 5.1 适用场景 当现有的卷组空间不足,而系统中还有其他可用的物理存储设备或分区时,可以考虑扩展现有卷组。 ### 5.2 操作步骤 #### 5.2.1 确定可用的物理存储设备或分区 首先,使用 `lsblk` 命令查看系统中所有的存储设备和分区,找出可用的设备或分区。例如: ```bash [root@studentvm1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk |-sda1 8:1 0 1G 0 part /boot `-sda2 8:2 0 59G 0 part |-fedora_studentvm1-root 253:0 0 2G 0 lvm / |-fedora_studentvm1-swap 253:1 0 4G 0 lvm [SWAP] |-fedora_studentvm1-usr 253:2 0 15G 0 lvm /usr |-fedora_studentvm1-home 253:3 0 4G 0 lvm /home |-fedora_studentvm1-var 253:4 0 10G 0 lvm /var `-fedora_studentvm1-tmp 253:5 0 5G 0 lvm /tmp sdb 8:16 0 20G 0 disk |-sdb1 8:17 0 2G 0 part /TestFS `-sdb2 8:18 0 2G 0 part sdc 8:32 0 10G 0 disk ``` 假设这里发现 `/dev/sdc` 是一个未使用的 10GB 磁盘,可以用于扩展卷组。 #### 5.2.2 创建物理卷(PV) 使用 `pvcreate` 命令将可用的存储设备或分区转换为物理卷。例如,将 `/dev/sdc` 转换为物理卷: ```bash [root@studentvm1 ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created. ``` #### 5.2.3 扩展卷组 使用 `vgextend` 命令将新创建的物理卷添加到现有的卷组中。假设要扩展的卷组是 `fedora_studentvm1`,则执行以下命令: ```bash [root@studentvm1 ~]# vgextend fedora_studentvm1 /dev/sdc Volume group "fedora_studentvm1" successfully extended ``` #### 5.2.4 验证卷组扩展 使用 `vgs` 命令验证卷组是否已成功扩展: ```bash [root@studentvm1 ~]# vgs VG #PV #LV #SN Attr VSize VFree fedora_studentvm1 2 6 0 wz--n- <68.00g <31.51g ``` 可以看到,`fedora_studentvm1` 卷组的总大小增加了,可用空间也相应增加。 #### 5.2.5 扩展逻辑卷 扩展卷组后,可以根据需要扩展其中的逻辑卷。例如,将 `/home` 逻辑卷再扩展 3GB: ```bash [root@studentvm1 ~]# lvextend -L +3G /dev/fedora_studentvm1/home Size of logical volume fedora_studentvm1/home changed from 4.00 GiB (1024 extents) to 7.00 GiB (1792 extents). Logical volume fedora_studentvm1/home successfully resized. ``` #### 5.2.6 调整文件系统大小 扩展逻辑卷后,需要调整文件系统的大小以利用新增加的空间。使用 `resize2fs` 命令(对于 EXT4 文件系统): ```bash [root@studentvm1 ~]# resize2fs /dev/fedora_studentvm1/home ; df -h resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/fedora_studentvm1/home is mounted on /home; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/fedora_studentvm1/home is now 1835008 (4k) blocks long. Filesystem Size Used Avail Use% Mounted on ... /dev/mapper/fedora_studentvm1-home 6.9G 1.4G 5.2G 22% /home ... ``` ### 5.3 流程图 下面是扩展现有卷组的 mermaid 流程图: ```mermaid graph LR classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; A(确定可用存储设备/分区):::process --> B(创建物理卷 PV):::process B --> C(扩展卷组 VG):::process C --> D(验证卷组扩展):::process D --> E(扩展逻辑卷 LV):::process E --> F(调整文件系统大小):::process ``` ## 6. LVM 的优势总结 逻辑卷管理(LVM)在磁盘空间管理方面具有诸多优势,以下是一个总结表格: | 优势 | 描述 | | ---- | ---- | | 灵活性 | 可以在不重启或卸载文件系统的情况下,动态地添加或移除磁盘空间,方便应对磁盘空间不足的问题。 | | 整合资源 | 能够将多个物理存储设备和分区组合成一个单一的卷组,然后再划分为逻辑卷,提高了磁盘空间的利用率。 | | 易于扩展 | 无论是扩展逻辑卷还是卷组,操作都相对简单,减少了传统磁盘空间管理的复杂性。 | | 数据安全 | 在扩展或调整磁盘空间时,不需要重新格式化整个硬盘或重新安装操作系统,降低了数据丢失的风险。 | ## 7. 注意事项和最佳实践 在使用逻辑卷管理(LVM)时,有一些注意事项和最佳实践可以帮助你更好地管理磁盘空间。 ### 7.1 注意事项 - **文件系统兼容性**:并非所有的文件系统都支持在线调整大小,如前文所述,在调整文件系统大小时,务必查看相应文件系统的文档以确保可以进行操作。 - **系统稳定性**:虽然 LVM 允许在不重启系统的情况下进行磁盘空间调整,但在关键系统上进行操作时,仍需谨慎。建议在操作前备份重要数据,以防万一。 - **物理设备限制**:卷组和逻辑卷的大小受到物理存储设备的限制,在规划磁盘空间时,需要考虑物理设备的容量和性能。 ### 7.2 最佳实践 - **定期监控磁盘空间**:使用工具如 `df -h` 和 `vgs` 定期监控磁盘空间的使用情况,及时发现空间不足的问题并进行处理。 - **合理规划卷组和逻辑卷**:在创建卷组和逻辑卷时,要根据实际需求合理分配空间,避免空间浪费或不足。 - **备份重要数据**:在进行任何磁盘空间调整操作之前,备份重要的数据,以防止数据丢失。 ## 8. 总结 逻辑卷管理(LVM)是一种强大的磁盘空间管理工具,它提供了灵活性、高效性和数据安全性。通过本文的介绍,你已经了解了 LVM 的必要性、结构、扩展逻辑卷、创建和扩展卷组的方法,以及相关的注意事项和最佳实践。 在实际应用中,合理运用 LVM 可以大大提高磁盘空间管理的效率和灵活性,帮助你更好地应对各种磁盘空间管理问题。希望本文能够对你有所帮助,让你在系统管理中更加得心应手。 通过不断地实践和探索,你将能够熟练掌握 LVM 的使用技巧,为系统的稳定运行提供有力保障。
corwn 最低0.47元/天 解锁专栏
买1年送3月
点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

吴雄辉

高级架构师
10年武汉大学硕士,操作系统领域资深技术专家,职业生涯早期在一家知名互联网公司,担任操作系统工程师的职位负责操作系统的设计、优化和维护工作;后加入了一家全球知名的科技巨头,担任高级操作系统架构师的职位,负责设计和开发新一代操作系统;如今为一名独立顾问,为多家公司提供操作系统方面的咨询服务。
最低0.47元/天 解锁专栏
买1年送3月
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

阻塞 vs 非阻塞任务提交:接口设计背后的性能权衡与场景选择建议

![阻塞 vs 非阻塞任务提交:接口设计背后的性能权衡与场景选择建议](https://img-blog.csdnimg.cn/d916543b06f54eb89cc5ef87b93c7779.png) # 摘要 本文系统探讨了阻塞与非阻塞任务提交机制在并发编程中的核心作用,从基本概念出发,剖析同步与异步、阻塞与非阻塞的本质区别及其在线程行为和执行模型中的体现。文章深入研究任务调度的关键性能指标及并发模型的支持机制,结合线程池、Future/Promise、Reactor与Actor等技术,分析阻塞与非阻塞在Java线程池、Spring异步注解和Netty框架中的具体实现。通过对比不同任

【地理数据清洗】:中国铁路SHP文件中的空值、重复与断线问题修复(真实案例解析)

![中国铁路分布图shp格式](https://www.arnishengg.com/images/truck-design-and-engineering3.png) # 摘要 铁路SHP文件作为地理信息系统中重要的矢量数据格式,在实际应用中常面临空值、重复要素与几何断线等质量问题,严重影响数据分析与网络拓扑构建的可靠性。本文系统分析SHP文件结构特性及常见数据缺陷成因,结合GeoPandas、Shapely与NetworkX等工具,提出一套面向铁路网络的空间数据清洗框架。通过解析.shp、.shx与.dbf文件关联机制,构建属性完整性与几何一致性评估指标,并设计基于坐标匹配、R-tr

CodeReader vs 传统调试工具:7大维度对比揭示谁才是复杂系统分析王者

![CodeReader vs 传统调试工具:7大维度对比揭示谁才是复杂系统分析王者](https://www.aquasec.com/wp-content/uploads/2024/01/CVE_log4j_Picture1_OK.jpg) # 摘要 本文系统比较了CodeReader与传统调试工具在代码理解、执行洞察和开发集成等方面的本质差异,重点分析其在代码可读性提升、上下文感知增强及动态行为模拟方面的技术优势。通过对比源码静态分析、调用链可视化与运行时状态捕捉等能力,揭示CodeReader基于AST解析与控制流重建实现的非侵入式调试范式创新。结合微服务定位、错误预测与CI/CD

机器学习与神经形态芯片:从基础应用到未来展望

# 机器学习与神经形态芯片:从基础应用到未来展望 ## 1. 电子元件识别模型的训练与测试 在电子元件识别方面,电阻和晶体管的识别混淆矩阵显示,虽有 34 个晶体管被误分类为电阻,但仍正确识别了 81 个电阻。不过,这些结果还有很大的提升空间,增加训练数据集的规模能显著提高识别准确率。当前的识别精度已足以在实际应用中对系统进行测试。 ### 1.1 现场测试流程 由于 MaixDuino 仅有 2MB RAM,无法运行完整的 TensorFlow 系统。为执行模型,需将 TensorFlow 操作转换为 Maix 的 KPU 专用指令集,此转换还能优化模型,降低计算能力和内存需求。具体操作

探寻宗教语境下的语言情感与文化传承

### 探寻宗教语境下的语言情感与文化传承 #### 1. 拉埃斯塔迪教与语言文化张力 拉埃斯塔迪运动与路德教会国家教会之间存在着内在的紧张关系,这种紧张不仅仅源于语言的选择。在当地,非拉埃斯塔迪教徒常认为拉埃斯塔迪教徒觉得教会“不够好”,这是一种傲慢的表现。然而,考虑到国家教会在挪威化进程中的角色,拉埃斯塔迪祈祷屋可能象征着价值观的逆转。 拉埃斯塔迪教的价值观和身份认同通过特定的物质文化得以体现,比如穿着风格。过去,男性穿西装,女性用头巾遮住长发,不化妆、不戴首饰,穿连衣裙或裙子。不过,到了20世纪70年代,皮克耶的年轻拉埃斯塔迪女性仅在周日才遵循这种着装风格。合适的着装可以被视为一种表

MSP430G2553微控制器I2C通信应用解析

### MSP430G2553微控制器I2C通信应用解析 #### 1. 应用概述 本次应用聚焦于使用MSP430G2553微控制器进行I2C通信,构建一个集时钟、温度与湿度显示功能于一体的设备。该设备会在LCD上同时展示日期、时间、星期几、温度和湿度信息。为了实现对各项功能的控制,还会连接一个4x4键盘。 #### 2. 应用规格与行为 - **主要目标**:借助IDE Energia展示I2C通信的可能性,将所有外设连接到I2C总线。 - **主要应用**:基于RTC的时钟,显示日期、时间和星期几,其中星期几由固件根据日期计算得出。同时,设备会反馈温度和空气湿度信息,并且所有传感器都是

历史、文化与记忆:多领域的深度探索

### 历史、文化与记忆:多领域的深度探索 #### 1. 俄罗斯相关话题 在俄罗斯,诸多话题引发关注。如在疫情期间,有报道将普京把佩切涅格人和波洛伏齐人与冠状病毒作比较的事件进行了呈现,相关报道包括《俄罗斯一周:普京、佩切涅格人与肺炎》等。关于莫斯科公国对“基辅遗产”的官方主张起源也有研究,像雅罗斯拉夫·佩伦斯基对此进行过探讨。同时,政治中世纪主义在俄罗斯也有体现,尤金·斯梅良斯基在《门口的敌人:俄罗斯风格的政治中世纪主义》中有所评论。 在信息传播方面,安德鲁·B. R. 埃利奥特指出了21世纪对中世纪的挪用现象。而在网络环境中,信息的可信度和传播性也备受关注。例如,凯特·斯塔伯德等人研

拉丁美洲与安第斯国家的弱可持续性发展分析

### 拉丁美洲与安第斯国家的弱可持续性发展分析 在当今世界,可持续发展已成为各国关注的焦点。特别是对于拉丁美洲和安第斯国家而言,如何在经济发展的同时兼顾环境和资源的可持续性,是一个亟待解决的问题。 #### 拉丁美洲弱可持续性指标 首先来看拉丁美洲部分国家的弱可持续性指标,以下是1900 - 2000年、1946 - 2000年、1970 - 2000年期间,阿根廷、巴西、智利、哥伦比亚和墨西哥的相关指标数据: | 国家 | 时间段 | NNS(%) | NNSRr(%) | GSCo2(%) | GS(%) | GSTFP(%) | GreenTFP(%) | | --- | ---

树莓派机器人与游戏硬件编程全攻略

### 树莓派机器人与游戏硬件编程全攻略 #### 1. Mecanum机器人速度控制 Mecanum机器人采用脉宽调制(PWM)来调节速度,它通过树莓派上的一个引脚连接到每个H桥配置的PWM引脚。这使得所有电机以相同速度运行,是控制该机器人最简单的方式。若要分别调节速度以实现更精细的方向控制,则可为每个H桥分配单独的引脚。 #### 2. 超声波测距传感器的使用 - **原理与用途**:超声波测距传感器,也叫距离传感器,其工作原理与汽车的停车传感器类似。它发射超声波信号,然后测量信号到达物体并反射回传感器所需的时间,以此计算与物体的距离。在机器人应用中,可用于判断机器人是否接近墙壁或其他

深入理解WiFiRSSINotify类及相关技术

# 深入理解WiFiRSSINotify类及相关技术 ## 1. WiFiRSSINotify类概述 WiFiRSSINotify类是一个JavaScript类,其实质是一个宿主对象,其析构函数、构造函数和关闭函数均由本地代码实现,具体代码如下: ```javascript class WiFiRSSINotify @ "xs_wifirssinotify_destructor" { constructor(options) @ "xs_wifirssinotify_constructor"; close() @ "xs_wifirssinotify_close"; } ``