ubuntu@:~/$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            96M  1.1M   95M   2% /run
efivarfs        256K   21K  231K   9% /sys/firmware/efi/efivars
/dev/sda1        45G  6.9G   39G  16% /
tmpfs           479M     0  479M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda15      105M  6.1M   99M   6% /boot/efi
tmpfs            96M     0   96M   0% /run/user/1001
ubuntu@:~/$ sudo fdisk -l
Disk /dev/sda: 46.58 GiB, 50010783744 bytes, 97677312 sectors
Disk model: BlockVolume
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes
Disklabel type: gpt
Disk identifier: DC1D9E04-B4F2-4B97-A821-D2C3ED2FF003

Device      Start      End  Sectors  Size Type
/dev/sda1  227328 97677278 97449951 46.5G Linux filesystem
/dev/sda14   2048    10239     8192    4M BIOS boot
/dev/sda15  10240   227327   217088  106M EFI System

Partition table entries are not in disk order.


Disk /dev/sdb: 150 GiB, 161061273600 bytes, 314572800 sectors
Disk model: BlockVolume
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 1048576 bytes

ubuntu@:~/$ sudo mkfs.ext4 -F /dev/sdb
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 39321600 4k blocks and 9830400 inodes
Filesystem UUID: f41561ee-3dd9-41e0-9f14-e95dc899e8fb
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 (262144 blocks): done
Writing superblocks and filesystem accounting information: done

#创建挂载目录
ubuntu@:~/$ sudo mkdir -p /data
#挂载磁盘
ubuntu@:~/$ sudo mount /dev/sdb /data

#检查挂载结果
ubuntu@:~/$ df -h | grep /data
/dev/sdb        147G   28K  140G   1% /data

#查看磁盘状态
ubuntu@:~/$ lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
NAME     SIZE TYPE MOUNTPOINTS
sda     46.6G disk
├─sda1  46.5G part /
├─sda14    4M part
└─sda15  106M part /boot/efi
sdb      150G disk /data

# 1. 查看磁盘 UUID
ubuntu@:~/$ sudo blkid /dev/sdb
/dev/sdb: UUID="f41561ee-3dd9-41e0--" BLOCK_SIZE="4096" TYPE="ext4"

#设置开机自动挂载:
ubuntu@:~/$ echo 'UUID=f41561ee-3dd9-41e0--/data  ext4  defaults,noatime,_netdev  0  2' | sudo tee -a /etc/fstab
UUID=f41561ee-3dd9-41e0--/data  ext4  defaults,noatime,_netdev  0  2

# 测试 fstab 配置是否正确,
ubuntu@:~/$ sudo mount -a

# 查看最终结果。根据 /etc/fstab 文件的配置,挂载所有应该被自动挂载的磁盘
ubuntu@:~/$ cat /etc/fstab
LABEL=cloudimg-rootfs   /        ext4   discard,errors=remount-ro       0 1
LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1

# CLOUD_IMG: This file was created/modified by the Cloud Image build process
######################################
## ORACLE CLOUD INFRASTRUCTURE CUSTOMERS
##
## If you are adding an iSCSI remote block volume to this file you MUST
## include the '_netdev' mount option or your instance will become
## unavailable after the next reboot.
## SCSI device names are not stable across reboots; please use the device UUID
## instead of /dev path.
##
## Example:
## UUID="94c5aade-8bb1-4d55--" /data1 ext4 defaults,noatime,_netdev 0 2
##
## More information:
## https://docs.us-phoenix-1.oraclecloud.com/Content/Block/Tasks/connectingtoavolume.htm
##
/swapfile none swap sw 0 0
UUID=f41561ee-3dd9-41e0--/data  ext4  defaults,noatime,_netdev  0  2
ubuntu@ccpp:~/lihuiqin$ df -h | grep /data
/dev/sdb        147G   28K  140G   1% /data
ubuntu@ccpp:~/lihuiqin$ sudo chown -R ubuntu:ubuntu /data

二、

极度占用空间的项目(推荐优先考虑)

项目 预计占用空间 编译难度 备注
Chromium 80~150GB ★★★★ 非常推荐,编译一次能吃掉很多空间
Firefox 50~100GB ★★★★ 空间占用也很大
Linux Kernel (全量配置) 20~60GB ★★ 比较容易上手,可反复编译
LLVM + Clang 30~70GB ★★★ 编译时间长,空间大
Qt 6 完整框架 25~50GB ★★★ 包含所有模块时很占空间

最推荐的方案

  1. Chromium(最推荐)

    • 单次完整编译能轻松占用 80GB 以上
    • 你可以只编译一部分模块来控制空间
    • 命令示例(先安装 depot_tools):
      cd /data
      git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
      # 后续 fetch + sync + build 步骤较长
      
  2. Linux Kernel(最简单快速上手)

    cd /data
    git clone --depth 1 https://github.com/torvalds/linux.git
    cd linux
    make defconfig
    make -j2     # Micro 实例建议用 -j1 或 -j2,避免 OOM
    

重要提醒(你的实例配置)

你的实例是 VM.Standard.E2.1.Micro(只有 1GB 内存):

  • 编译大型项目时非常容易内存不足(OOM)
  • 建议:
    • 使用 make -j1-j2
    • 增加 swap(虽然效果有限)
    • 或者用 ccache 加速重复编译
    • 边编译边监控:htopfree -h

你想编译哪一类项目呢?

  • 浏览器类(Chromium/Firefox)
  • Android 系统
  • Linux 内核
  • 编译器(LLVM/GCC)
  • 其他(如游戏引擎、机器学习框架等)

告诉我你的偏好,我可以给你详细的一键式下载+编译命令

三、

推荐项目对比(占用空间 ≈100GB 级别)

项目 源码大小(checkout) 完整编译后占用空间 难度 推荐指数
Chromium(浏览器引擎) 约 20~40GB 80~150GB+ ★★★★★ ★★★★★(最推荐)
Firefox 约 10~20GB 50~100GB+ ★★★★ ★★★★
LLVM + Clang 约 15~30GB 40~80GB ★★★★ ★★★★
Qt 6 全模块 约 10~20GB 30~60GB ★★★ ★★★

Chromium 是目前最符合“100G 左右 C/C++ 项目”的选择


如何在 /data 上编译 Chromium(简要步骤)

cd /data
mkdir chromium && cd chromium

# 安装 depot_tools(Google 官方工具)
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$(pwd)/depot_tools:$PATH"

# 下载 Chromium 源码(这个过程就会占用很多空间)
fetch --nohooks chromium

cd src
gclient sync

# 配置编译(Release 模式更省空间)
gn gen out/Release --args='is_debug=false'

# 开始编译(你的 Micro 实例内存很小,建议用低并行度)
autoninja -C out/Release chrome -j2

注意事项(非常重要):

  • 你的实例是 E2.1.Micro(1核 1GB 内存),完整编译 Chromium 会非常慢且容易 OOM。
  • 建议先用 -j1-j2,或者只编译部分模块。
  • 编译过程中占用空间会逐步增加到 100GB+,请随时监控:
    df -h /data
    

你想要哪种类型?

  1. 直接上 Chromium(最吃空间)
  2. Firefox(相对容易一点)
  3. LLVM/Clang(编译器本身)
  4. 其他(如 WebKit、Unreal Engine 等)

告诉我你的选择,我给你更详细、一步一步的命令(包括如何节省空间、加速编译等)。

四、

✅ 直接回答你的问题:

nginx、Redis、PostgreSQL 完全不够占用 100GB。

项目 源码大小(checkout) 完整编译后占用空间 编译时间(你的 Micro 实例) 是否推荐
Nginx < 50MB < 1GB 几分钟 不够
Redis < 100MB < 1GB 几分钟 不够
PostgreSQL 几百 MB 2~5GB 30~60 分钟 不够

它们都是精炼高效的服务器软件,源码和构建产物都很小,不适合你“吃 100GB 磁盘”的目标。


推荐服务器开发相关的 C/C++ 大型项目(接近或超过 100GB)

以下是服务端 / 数据库 / 高性能后端方向的真正大项目:

项目 类型 源码大小 完整编译后占用空间 推荐指数 备注
ClickHouse 列式分析数据库 20~40GB+ 80~150GB+ ★★★★★ 最推荐,现代高性能 OLAP 数据库
MySQL 经典关系型数据库 5~15GB 20~50GB+ ★★★★ 经典服务器开发项目
Envoy 高性能 Service Mesh 代理 10~20GB 30~60GB+ ★★★★ 现代 C++ 代理(类似 Nginx 升级版)
RocksDB + 依赖 高性能 KV 存储 中等 可叠加依赖后很大 ★★★ Facebook 出品
Seastar + ScyllaDB 高性能数据库框架 很大 ★★★★ 异步框架 + 数据库

最推荐:ClickHouse(强烈建议)

  • 纯 C++ 开发,是目前最火的开源 OLAP 数据库之一。
  • 源码 + 构建过程非常庞大,很容易吃掉 100GB 左右
  • 对服务器开发(网络、存储引擎、查询优化、向量化执行等)学习价值极高。

初步操作步骤(在 /data 下执行):

cd /data
git clone --recursive https://github.com/ClickHouse/ClickHouse.git
cd ClickHouse

# 安装依赖(Ubuntu)
sudo apt update && sudo apt install -y python3 python3-pip ninja-build

# 创建构建目录
mkdir build && cd build

# 配置(Debug 模式更占空间,Release 稍省)
cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..

# 开始编译(你的 Micro 实例内存很小,建议用低并发)
ninja -j2

注意

  • 第一次 git clone --recursive 就会占用大量空间。
  • 编译过程会生成巨量临时文件和对象文件。
  • 你的 1GB 内存 实例编译会很慢,容易 OOM,建议监控 htop,必要时增加 swap。

  1. ClickHouse(最符合 100GB + 服务器开发)
  2. MySQL(更经典)
  3. Envoy
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐