Tag: AlmaLinux

  • 在阿里云上开启ZRAM的方法

    太长不看版
    sudo su # do everything as root
    dnf install zram-generator
    echo "[zram0]
    zram-size = ram / 1
    compression-algorithm = lz4" > /etc/systemd/zram-generator.conf
    sed -i 's/vm.swappiness = 0/# vm.swappiness = 0/g' /etc/sysctl.d/99-sysctl.conf
    echo "vm.swappiness = 180
    vm.watermark_boost_factor = 0
    vm.watermark_scale_factor = 125
    vm.page-cluster = 0" > /etc/sysctl.d/99-vm-zram-parameters.conf
    sysctl --system
    systemctl restart systemd-zram-setup@zram0.service

    首先,我们需要安装一个管理zram的工具。除了抖M应该没人会自己写管理脚本吧?

    本文以systemd-zram-generator作为管理工具。

    sudo dnf install zram-generator # 红帽系
    sudo apt install systemd-zram-generator # debian系

    然后写一个配置文件。

    # /etc/systemd/zram-generator.conf
    [zram0]
    zram-size = ram / 1
    compression-algorithm = lz4
    我想要你解释一下

    [zram0]是指设备名称。

    zram-size = ram / 1的意思是创建一个与内存大小1:1的zram空间。不用害怕,这里指的是压缩前的zram大小,压缩后应该会降到三分之一左右。1:1是我的个人习惯,一些发行版(比如Fedora)会默认使用2:1等参数。你用你喜欢的就行。

    提示:使用zram-size = ram / 2设置zram大小为内存大小的一半。

    compression-algorithm = lz4用于指定压缩算法(这里是lz4)。一般来讲,作为zram使用的压缩算法,lz4很优秀。当然你也可以选择别的——比如zstd。

    下一步,我们需要给傻逼阿里云的限制干掉。编辑/etc/sysctl.d/99-sysctl.conf这个文件,将vm.swappiness = 0注释掉(前面加个井号)。

    直接删了也行。

    然后,添加我们自己的参数。

    # /etc/sysctl.d/99-vm-zram-parameters.conf
    vm.swappiness = 180
    vm.watermark_boost_factor = 0
    vm.watermark_scale_factor = 125
    vm.page-cluster = 0

    接下来,重新载入使上两步的更改生效。

    sudo sysctl --system

    最后,重新启动zram服务。

    sudo systemctl restart systemd-zram-setup@zram0.service

    大功告成。

  • 华为云制作自定义镜像教程——以Fedora为例

    鲲鹏920用户需要进行额外操作

    请先按照标准华为云文档创建ISO镜像并创建安装服务器,然后按照标准流程安装Fedora Server。

    安装后,先配置一些额外软件。一般来讲,cloud-init是建议安装的。

    sudo dnf install cloud-init -y

    如果你跟我一样喜欢用Cockpit,那么最好再安装一些Cockpit的额外组件

    sudo dnf install cockpit cockpit-files cockpit-networkmanager cockpit-packagekit cockpit-selinux -y

    想用Cockpit的话,别忘了把TCP/9090加入安全组,当然如果你是全打开的狠人那当我没说。

    然后,在安装uniagent(华为的傻逼密码重置插件)之前,我们需要先为uniagent创建一个selinux策略文件。

    echo "module my-uniagent 1.0;
    
    require {
    	type http_port_t;
    	type usr_t;
    	type user_tmp_t;
    	type init_t;
    	class file { append execute setattr write };
    	class tcp_socket name_connect;
    }
    
    #============= init_t ==============
    
    #!!!! This avc is allowed in the current policy
    allow init_t http_port_t:tcp_socket name_connect;
    allow init_t user_tmp_t:file execute;
    
    #!!!! This avc is allowed in the current policy
    allow init_t usr_t:file { append setattr write };" > my-uniagent.te
    
    checkmodule -M -m -o my-uniagent.mod my-uniagent.te
    semodule_package -o my-uniagent.pp -m my-uniagent.mod
    sudo semodule -i my-uniagent.pp

    然后安装uniagent。

    在这一步的最后,我们还需要修复华为安装的时候留下的烂摊子——SELinux标签。

    sudo restorecon -Rv /usr/local/uniagentd/bin

  • 华为云鲲鹏920安装部分发行版的备注

    从2026年6月开始似乎不再可用。此文章只作为存档。

    由于鲲鹏920的一些固件Bug,必须添加一些内核参数才能启动。

    以Fedora为例,启动安装介质后,选择‘Install Fedora’,然后按e更改命令行,将以下参数加入到linux开头的行末尾:

    initcall_blacklist=hisi_ddrc_pmu_module_init arm64.nompam

    然后就可以启动了。

    由于另一些Bug,在安装页面中鼠标指针似乎无法渲染,请使用Tab 空格和回车键进行操作。

    然后可以执行正常安装流程。

    在安装完成后,继续添加参数来初次启动服务器。

    然后执行下面的命令添加并固化启动参数:

    echo "GRUB_CMDLINE_LINUX_DEFAULT=\"initcall_blacklist=hisi_ddrc_pmu_module_init arm64.nompam\"" >> /etc/default/grub
    grub2-mkconfig -o /boot/grub2/grub.cfg

    然后按照标准步骤操作。

    参考:OpenSUSE.org