火山引擎云服务器veLinux 1.0系统镜像有什么特性?

axin 2025-03-31 4人围观 ,发现0个评论 火山引擎云服务器云服务器

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>


本文主要介绍veLinux 1.0操作系统中,内核、系统组件、系统配置和优化等关键特性。

内核

veLinux kernel基于内核社区长期支持(LTS)的5.4版本定制而成,对内存、网络、I/O、文件系统等模块进行了缺陷修复、性能增强并引入了适用于云应用的新特性,例如:
  • 优化冗余的HugeTLB页,降低内存开销。

  • 增加ebpf通用helper函数,支持通过模块添加ebpf功能。

  • 优化了cgroup slab memory controller。

  • VDUSE设备模拟框架。

  • PSI特性:针对cgroup级别的CPU stall增加了FULL模式,优化了memory stall FULL模式的实现和进程阻塞切换的开销。

系统组件

火山引擎自研软件包,如下。

atop

atop是开源社区的一个性能监测工具,火山引擎在社区版本的基础上进行了定制开发,新增feature包括:
  • 支持筛选记录Top N线程的监控数据记录。

  • 支持JSON格式输出监控数据,提供多样化展示。

  • 避免crash后持续写旧文件导致无效写入。

  • 支持定制日志保留天数。

kdump-tools

配合veLinux 5.4.56版本内核使用,内核发生kernel panic之时(硬件故障或内核软件issue)第一内核切换到第二内核,处理panic现场,记录关键信息。配合内核dbg包,支持gdb调试和追溯。支持上报服务端,配合监控服务使用,提供内核panic的准实时监控报警功能。

systemd

修复了journald重启时日志丢失的问题。

pciutils

提供了正确读取和显示PCI Gen 4 16GT/s速率的支持。

zlib

zlib是开源社区的一个无损压缩的基础库,火山引擎在社区版本madler/zlib上进行了一些性能优化。
  • 支持压缩过程中哈希函数的向量化指令,并且重构了字符串匹配的流程。

  • 增强解压过程中长字符串拷贝效率。

  • 支持crc32/adler32等校验码的向量化指令。

压缩和解压缩性能对比:
image

配置优化

基于字节海量业务场景,为了高并发、低时延等业务需求,对内存、文件系统、网络、安全等方面的系统配置进行了深度优化。

网络

  • 高并发

配置项
说明
net.core.netdev_max_backlog
16384
最大积压包的个数
net.core.somaxconn
16384
最大积压监听socket的个数
net.ipv4.tcp_max_syn_backlog
16384
最大积压SYN同步包请求的个数
net.ipv4.ip_local_port_range
10000 65535
本地最小和最大端口的限制
net.ipv4.tcp_max_orphans
2097152
孤立连接的最大数量
net.ipv4.tcp_max_tw_buckets
1048576
总timewait数
  • 低时延

配置项
说明
net.core.rmem_max
16777216
最大socket读buffer
net.core.wmem_max
16777216
最大socket写buffer
net.ipv4.tcp_rmem
4096 87380 33554432
TCP读buffer的最小/默认/最大值
net.ipv4.tcp_wmem
4096 65536 33554432
TCP读buffer的最小/默认/最大值
net.ipv4.tcp_slow_start_after_idle
0
TCP连接在空闲后不进入slow start
net.ipv4.tcp_fastopen
3
client和server都开启fastopen
net.ipv4.tcp_fin_timeout
15
FIN_WAIT_2状态的最大时长
  • 网络安全

配置项
说明
net.ipv4.ip_forward
0
禁止网络端口间的IP转发
net.ipv6.conf.all.forwarding
0
禁止网络端口间的IPv6转发
net.ipv4.tcp_syncookies
1
打开SYN Cookie功能,防止SYN攻击
net.ipv4.conf.all.route_localnet
0
阻止跨机器的本地回环访问
  • 提高资源利用

配置项
说明
net.ipv4.tcp_tw_recycle
0
关闭TIME-WAIT sockets的快速回收
net.ipv4.tcp_tw_reuse
1
允许TIME-WAIT sockets重用
net.ipv4.tcp_orphan_retries
2
RTO重试次数
net.ipv4.tcp_synack_retries
2
SYNACK重试次数
net.ipv4.tcp_syn_retries
3
SYN重试次数
net.ipv4.tcp_thin_linear_timeouts
1
开启线性超时重传

安全

  • 增加漏洞利用难度

配置项
说明
kernel.dmesg_restrict
1
禁止普通用户读取dmesg
kernel.randomize_va_space
2
开启地址空间布局随机化
vm.unprivileged_userfaultfd
0
禁止普通用户使用userfaultfd系统调用
kernel.kptr_restrict
1
只有拥有 CAP_SYSLOG 权限,且 euid==ruid 才可以读取通过 %pK 打印的内核地址 (即通过读取 /proc/kallsyms 获取内核导出符号的地址 )
  • 减小攻击面

配置项
说明
kernel.yama.ptrace_scope
1
禁止PTRACE_ATTACH功能
kernel.unprivileged_bpf_disabled
1
禁止普通用户使用eBPF系统调用
fs.protected_hardlinks
1
限制任意用户创建任意文件的硬链接
fs.protected_symlinks
1
对符号链接进行验证
fs.suid_dumpable
0
SUID_DUMP_DISABLE防止protected/tainted进程的coredump被恶意利用
kernel.perf_event_paranoid
2
限制普通用户对 perf event 的访问,缺少 CAP_SYS_ADMIN 特权时,阻止使用 kernel profiling、CPU event、ftrace function tracepoint、 raw tracepoint

其他

  • 高性能

配置项
说明
vm.swappiness
0
最大限度使用物理内存
vm.max_map_count
2097152
最大进程内存空间
  • 调试功能

配置项
说明
kernel.sched_schedstats
1
开启scheduler statistics增加调试和统计信息
net.core.bpf_jit_enable
1
开启eBPF
  • 高并发

配置项
说明
kernel.pid_max
4194303
最大PID
fs.file-max
12288000
最大fd
net.unix.max_dgram_qlen
512
unix socket队列长度


请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯