资讯动态

Ubuntu生信服务器从零配置指南:系统安装、数据盘挂载与用户权限管理

发布时间:2026/10/3 6:06:51 来源:尧图企业网站定制
干这行最常碰到的一件事就是新机器到手不管是从采购流程里拆出来的工作站还是云厂商控制台里新建的实例接下来这一整套流程——装系统、挂数据盘、建用户、配生信环境——是绕不开的。以前我用 Red Hat 和 CentOS 多一些这两年切到 Ubuntu 之后发现很多细节跟 RHEL 系差别还挺大网上教程又碎东抄一段西抄一段照着做还经常踩坑。这篇文章我就把最近给一台生信分析服务器从零到能跑流程的完整过程整理出来覆盖 Ubuntu 系统安装、数据盘挂载、多用户创建与权限管理、以及生信常用软件和 Python/R 环境的配置。不是罗列命令完事每一步我会讲清楚为什么这么做哪些地方容易翻车以及我实测下来更稳妥的做法。内容偏向新手友好但老手也可以直接跳到自己需要的段落。1. 系统安装从启动盘到 Ubuntu Server 落地1.1 先想清楚装哪个版本以及桌面版还是服务器版很多人一上来就问 Ubuntu 装哪个版本实际上这不是纠结版本号的问题而是先要确认两件事架构x86_64 还是 ARM和用途纯计算节点还是带图形界面的个人工作站。生信分析服务器一般建议直接选 Ubuntu Server LTS。LTS 是长期支持版本Ubuntu 每两年出一个桌面版支持 3 年服务器版支持 5 年。对生信这类需要长时间稳定跑流程的环境来说五年不换系统意味着你装的软件、配的环境不会被系统升级打断这对 reproducibility 是有实际意义的。目前最新的 LTS 是 24.04.x如果你手头有老一点的服务器22.04.x 也完全没问题。桌面版不是不能用但服务器上开图形界面纯属浪费资源。GNOME 桌面随便吃 2GB 内存这内存给比对软件它不香吗另外桌面版会默认带 snap 商店、自动更新机制这些跟计算节点不搭的东西。所以我这里只讲 Ubuntu Server 的安装。1.2 制作启动盘的两个要点制作启动盘的工具有 Rufus、balenaEtcher、Ventoy 这些我长期用 Ventoy因为它有个非常实际的好处一个 U 盘里放多个 ISO装哪台机器选哪个镜像不用来回格式化 U 盘。你甚至可以同时放 Ubuntu Server、Ubuntu Desktop 和系统救援镜像出问题的时候一个 U 盘全部搞定。用 Ventoy 装的时候有个坑——Secure Boot。UEFI 模式下如果主板开了 Secure Boot默认就是开的Ventoy 启动会出现蓝屏或者直接卡住。解决方法是进 BIOS 把 Secure Boot 临时关掉装完系统后可以再开回来Ubuntu 的 shim 是支持 Secure Boot 的不影响启动。这里必须提醒一句不同主板的 BIOS 界面差异很大但选项名称基本一致找 “Secure Boot”→“Disabled” 就行改了之后记得保存退出。1.3 安装过程中的分区方案怎么选Ubuntu Server 安装界面到存储配置那一步会给两个选项使用整个磁盘或者手动配置分区。这里我强烈建议手动分区哪怕目标机器就一块盘。我的推荐方案是/boot/efiEFI 系统分区建议 512MB 或 1GB文件系统选 FAT32。/根分区ext4 或 xfs 都可以给个 200GB 到 500GB 足够系统和软件都装在根分区。swap以前习惯给 2 倍内存现在服务器内存动辄 128GB、256GB 的真没必要给这么大。给个 16GB 到 32GB 兜底就好主要防止某些工具内存峰值把系统拖死。/data剩余所有空间都给这个数据分区。注意这一步很多新手容易漏或者全部空间给了根分区后面挂数据盘的时候反而麻烦。提前把系统盘里的数据目录独立出来后面重装系统、升级系统都不会动到数据。手动分区界面里选择 “Custom storage layout”会进入类似分区的操作界面。操作步骤是选中空闲空间点击 “Add GPT Partition”依次创建上述分区。注意在创建 /boot/efi 分区时Type 要选 “EFI System Partition”否则 UEFI 无法识别引导。创建根分区时Mount point 填/创建 /data 分区时 Mount point 填/data。1.4 安装时顺手配置好的三样东西在安装向导的后半段会让你设置主机名、用户名和密码、SSH key。这几个地方值得多花几分钟好好设因为系统装完再改会比较麻烦。主机名建议写成有辨识度的比如bio-ws01、ngs-node-02这种别用什么 ubuntu、localhost 的默认名字。多台服务器的时候主机名混乱会带来很大的运维麻烦尤其是生信平台多节点提交任务时日志里看节点名完全分不清是哪台机器。用户名这里有个细节安装向导默认创建的用户是带 sudo 权限的也就是说你拿这个用户就能做管理员操作。我习惯创建一个主管理员比如sysadmin后面给其他人创建用户时都用普通权限账户不随便给所有人 sudo。SSH 部分一定要勾选安装 OpenSSH server并且把自己的公钥粘进去。不然系统装完只能对着键盘敲还要登云控制台的 VNC体验很差。公钥是在你自己电脑上用ssh-keygen -t ed25519生成的把~/.ssh/id_ed25519.pub的内容复制过去即可。2. 硬盘挂载让数据盘变成真正的数据仓库2.1 认清哪块是数据盘lsblk 与 fdisk 的配合刚装完系统的服务器查磁盘状态第一反应就是执行lsblk。这个命令会列出所有块设备、大小、挂载点。一台典型服务器的输出长这样$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 223.6G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 200G 0 part / └─sda3 8:3 0 22.6G 0 part [SWAP] sdb 8:16 0 3.7T 0 disksda 是系统盘已经分好了sdb 没分区没挂载就是我们要处理的数据盘。用sudo fdisk -l可以看更详细的信息包括磁盘型号、扇区大小、序列号。建议执行这一步的时候顺手记一下磁盘的序列号云服务器或者阵列柜里识别物理盘时会用到。2.2 分区、格式化以及为什么我推荐 ext4数据盘分区其实很简单不搞 LVM、不做 RAID 的话整个盘一个分区是最省事的方式。# 对 /dev/sdb 进行分区 $ sudo fdisk /dev/sdbfdisk 是交互式的详细步骤是输入nnew partition→ 选择分区号直接回车默认 → 起始扇区回车默认 → 结束扇区回车默认用整块盘→ 输入wwrite写入分区表。整个过程下来就创建了一个 /dev/sdb1。分区完了要格式化。生信场景的文件系统选择我首推 ext4其次是 xfs。原因很简单ext4 兼容性最好老工具不认 xfs 元数据的情况偶尔有发生而且 ext4 支持在线扩容空间不够了后面用resize2fs直接扩展就行。xfs 也不是不行处理超大文件单个文件超过 2TB这类极端场景 xfs 在元数据性能上有优势但日常比对和统计根本摸不到这个上限。$ sudo mkfs.ext4 /dev/sdb1格式化之前一定要确认磁盘盘符没有搞错。有个血泪教训之前在测试机上执行格式化命令时手滑写错了盘符把系统盘给抹了只能重装。所以执行mkfs前务必执行下面这条确认三遍$ lsblk -o NAME,SIZE,MODEL,SERIAL,MOUNTPOINT2.3 开机自动挂载别再用 mount 命令将就了格式化之后直接sudo mount /dev/sdb1 /data能用重启就没。要开机自动挂载必须写入 /etc/fstab。$ sudo mkdir -p /data $ sudo blkid /dev/sdb1blkid 的输出的 UUID 要记录下来例如UUIDabc123...-xxxx。然后编辑 /etc/fstab$ sudo vim /etc/fstab在文件末尾加一行UUIDabc123...-xxxx /data ext4 defaults,nofail 0 2解释一下这一行几个关键部分的含义UUID用磁盘的唯一标识而不是/dev/sdb1原因是设备名重启后可能变化UUID 不会变defaults表示使用默认挂载选项nofail非常重要——如果这块盘出问题没挂上系统也能正常启动否则开机时 console 会一直停在 “Failed to mount /data”等你输 root 密码去修复。后面的0 2是 dump 和 fsck 选项0 2表示启动时检查该分区的文件系统系统分区一般是0 1普通数据盘0 2就行。改完 fstab 一定要先验证配置有没有写错$ sudo umount /data $ sudo mount -a $ df -h /data执行mount -a如果没报错df 能显示出 /data 的容量就说明配置成功。这个验证步骤别省直接重启验证的话fstab 写错了系统会起不来。2.4 网络存储的补充NFS 挂载在生信集群中的用法多台机器需要共享数据时NFS 是最常见的方案。比如你有两台服务器A 机器上挂了数据盘想让 B 机器访问就可以在 A 机器上启用 NFS 服务B 机器上挂载。A 机器上安装并配置 NFS 服务端$ sudo apt install nfs-kernel-server $ sudo vim /etc/exports # 加入一行把 /data 共享给 192.168.1.0/24 网段读写权限 /data 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash) $ sudo exportfs -raB 机器上挂载$ sudo apt install nfs-common $ sudo mkdir -p /shared_data $ sudo mount -t nfs 192.168.1.10:/data /shared_data生信分析里多个节点共享同一份参考基因组和原始测序数据能避免在每个节点上都复制一份几百 GB 的文件省下的磁盘空间和同步时间相当可观。不过要注意 NFS 是单点服务网络或者服务端出问题会影响所有挂载方。所以生产环境建议做好冗余或者在 fstab 里同样加上nofail参数。3. 用户创建与权限管理多用户服务器的安全底线3.1 useradd 与 adduser 的区别以及推荐做法生信服务器通常不是一个人用课题组的师弟师妹、合作单位的伙伴都可能有登录需求。用户管理的第一步就是创建用户。Ubuntu 下useradd和adduser是两套逻辑。adduser是 Perl 脚本会交互式地让你设置密码和用户信息属于“傻瓜式”useradd是底层命令灵活度更高不指定参数时默认的行为比较反直觉——不创建家目录、不设置 shell。平时我推荐用adduser简单直接$ sudo adduser zhangwei这个命令一路回车到底最后输入两次密码就完成了。它会自动创建用户目录 /home/zhangwei默认 shell 是 /bin/bash用户组和用户名同名。一个比较实用的细节是adduser在创建用户的同时还会帮你创建邮件目录并把 /etc/skel 下的文件复制到新用户家目录里。如果你希望所有新用户默认拥有某些文件比如 .bashrc 里的公用的环境变量提前放到 /etc/skel/ 下就好了。3.2 用户组规划别把所有人塞进同一个组多用户服务器上组策略直接关系到协作效率和权限安全。常见做法是按项目或角色分组成比如$ sudo groupadd bioinfo $ sudo usermod -aG bioinfo zhangwei $ sudo groupadd rnaseq $ sudo usermod -aG rnaseq wangliusermod -aG的-a参数一定要带上意思是在保留原有所属组的基础上追加新组。如果漏了-a会把用户从现有组里挪出来导致权限变化。可以用id zhangwei查看用户当前的组信息。真正的权限控制体现在数据目录上。比如 /data/project1 这个目录要允许 bioinfo 组成员读写那就$ sudo chown -R root:bioinfo /data/project1 $ sudo chmod -R 775 /data/project1775 的意思是 owner 和 group 都有读写执行权限其他人只有读和执行。这个组策略在生信场景下的意义很直接同一个分析项目的成员可以互相写对方的临时文件其他组的人看不了你的数据不同项目之间的数据是隔离的。3.3 root 用户与 sudo该给还是不该给Ubuntu 默认 root 用户是带随机密码锁定的也就是说安装时创建的初始用户承担了管理员角色。网上很多教程教你怎么给 root 设置密码并直接登录 root我强烈不建议这么做尤其对多用户服务器来说root 密码一旦泄露整个服务器等于裸奔。合理的管理员分配方案是只给真正需要做系统维护的人 sudo 权限。Ubuntu 里 sudo 权限的组叫 sudoRHEL 系叫 wheel把用户加到 sudo 组就行$ sudo usermod -aG sudo wangli注意sudo 权限不是一次性给的我个人的习惯是尽量少开 sudo需要装软件时临时加装完移除。更新系统这类操作由主管理员统一处理。另外Ubuntu 的 sudo 默认会运行env_reset也就是把当前用户的 PATH 清掉再用安全路径重新加载。这意味着普通用户通过 sudo 执行 root 环境的软件时可能遇到 “command not found”。解决方式不是去改 sudoers而是用sudo -i切换到 root 环境或者用绝对路径调用。3.4 密码策略让用户不能改密码、密码永不过期多用户环境有个非常常见的需求服务器创建的是服务账号或者公共账号不希望用户自己修改密码也不想密码定期过期比如像 MySQL 的专用部署账号。这正好对应了几个热搜词里提到的点。修改 /etc/shadow 中对应用户的字段或者用chage命令# 密码永不过期 $ sudo chage -M -1 zhangwei # 禁止用户主动修改密码 $ sudo passwd -l zhangwei但是passwd -l会把用户锁定导致无法登录这不是我们想要的效果。真正实现“用户不能改密码”的方式是给 passwd 命令加约束或者修改 /etc/shadow 中的用户字段$ sudo passwd -n 99999 zhangwei这表示密码最小使用期限是 99999 天用户想改也改不了。但这跟“永不过期”是两个维度。综合设置比较标准的做法是把密码过期时间设置为无限远$ sudo chage -M 99999 zhangwei $ sudo chage -m 99999 zhangwei这样用户既不能自己改密码密码也不会过期。业务上如果遇到审计要求比较高的情况这组命令是非常常见的答案。3.5 SSH 免密登录配置公钥放对位置很重要创建完用户之后需要让用户能通过 SSH 从自己的电脑登录服务器。比较规范的做法是配置公钥登入而不是用密码。$ sudo mkdir -p /home/zhangwei/.ssh $ sudo chmod 700 /home/zhangwei/.ssh # 把用户自己的公钥内容写入 authorized_keys $ sudo vim /home/zhangwei/.ssh/authorized_keys $ sudo chmod 600 /home/zhangwei/.ssh/authorized_keys $ sudo chown -R zhangwei:zhangwei /home/zhangwei/.ssh.ssh目录权限是 700authorized_keys 是 600如果这两个权限设置得比这宽松sshd 会为了安全直接拒绝使用该公钥文件导致免密登录无效。这是新手最容易忽略的权限坑之一。如果希望某些用户只能通过密钥登录、不能密码登录可以修改 /etc/ssh/sshd_configPasswordAuthentication no建议先把所有用户的公钥都配置好确认免密登录没问题之后再关密码登录防止自己把自己锁在外面。服务器端 sshd 配置修改完要重启服务sudo systemctl restart sshd。注意 Ubuntu 的服务名是 sshopenssh-serverRHEL 系叫 sshd命令不完全一样别记混了。4. 生信分析环境配置从软件源到 Python/R 的完整搭建4.1 更换 apt 软件源以及基础依赖安装Ubuntu 默认的 apt 源是官方源国内访问网速不太稳定装大软件包时经常卡住。建议换成阿里云或清华镜像源阿里云源的速度和兼容性我个人体验是最好的。$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak $ sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list $ sudo apt update先备份原文件是个好习惯改坏了还能回滚。Ubuntu 24.04 的 apt 源默认走的是 /etc/apt/sources.list.d/ubuntu.sources 这种新的 deb822 格式如果发现 sources.list 文件是空的需要去那个目录改。sed 的替换逻辑可能不适用遇到这种情况直接编辑 ubuntu.sources 文件把 URL 替换成https://mirrors.aliyun.com/ubuntu/。基础依赖是后面装软件的前提直接一条命令装齐$ sudo apt install -y build-essential gcc g make cmake \ zlib1g-dev libbz2-dev liblzma-dev libncurses5-dev libncursesw5-dev \ libcurl4-openssl-dev libssl-dev libxml2-dev \ unzip zip git wget curl \ libopenblas-dev liblapack-dev这里面 zlib、bzip2、lzma 这三个开发库做生信的人一定不陌生samtools、bcftools 这类工具编译的时候依赖它们。libcurl、libxml2 是 R 包安装是经常需要的。装这些基础依赖的功夫够你泡杯咖啡了。4.2 Miniconda 安装与 conda 镜像源配置生信领域的软件管理Miniconda 基本是标配。它的意义在于隔离环境——每个项目用一套独立的软件版本避免 A 项目升级了某个工具导致 B 项目跑不了。这在重跑已发表分析流程时尤其重要。安装 Miniconda 的步骤$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh $ bash Miniconda3-latest-Linux-x86_64.sh安装过程中会提示是否运行 conda init建议选 yes这样会把 conda 初始化代码加进自己的 .bashrc重开终端就能直接用 conda 命令了。如果想对所有用户生效可以把 Miniconda 装到 /opt/miniconda3然后给每个用户的 PATH 里加上 /opt/miniconda3/bin。conda 默认源在国外安装软件时经常卡住。我习惯在安装完成之后立刻换成清华源$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ $ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ $ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ $ conda config --set show_channel_urls yes这里有个重要的知识点conda-forge 和 bioconda 是两个最常用的 channel。bioconda 是生信软件的集中地绝大多数生信工具都能直接用 conda 装。建议按这个顺序配置 channelconda config --add channels defaults conda config --add channels bioconda conda config --add channels conda-forge优先级从低到高conda-forge 在最上面这样依赖解析时优先从 conda-forge 拉能少很多冲突。4.3 用 conda 创建生信分析环境有了 conda创建环境就是一行命令的事。比如要建一个做 RNA-seq 分析的环境可以这样$ conda create -n rnaseq -y python3.10 $ conda activate rnaseq $ conda install -y -c bioconda fastqc fastp hisat2 subread stringtie samtools $ conda install -y -c bioconda -c conda-forge multiqc核心思想是环境隔离 工具联合安装。为什么要单独建环境因为不同项目的软件版本可能冲突。比如项目 A 要用 hisat2 2.2.1项目 B 要用 2.1.0如果都装在 base 环境里改来改去会非常痛苦。分开环境之后激活哪个环境就用哪个版本的软件互不干扰。我一般会固定工具的版本号比如conda install -y -c bioconda fastqc0.12.1这样更利于重现。等别人要复现你的分析流程时版本信息是必须交代清楚的这部分信息其实应该跟着环境走。建议建完环境后把环境的导出信息保存下来$ conda env export -n rnaseq rnaseq_env.yml这个 yml 文件是环境配置的完整快照后面在新的机器上恢复环境时执行conda env create -f rnaseq_env.yml就行。这个习惯强烈建议养成。4.4 Python 与 R生信分析的两大支柱语言Python 和 R 是生信分析最核心的两门语言。Python 做流程调度、数据清洗、机器学习模型R 做统计分析和可视化。配置的时候有几个常见的坑需要注意。先说 Python。Ubuntu 系统自带的 python3 是系统级的不要手动给它装包因为系统工具可能依赖特定版本的库装坏了可能导致整个系统出问题。正确做法是用 conda 环境里的 Python。创建环境时指定python3.10或者 3.11然后装包就用 pip$ conda activate rnaseq $ pip install pandas numpy scikit-learn matplotlib seaborn如果用 pip 装包时遇到编码问题报错可以设置环境变量export PYTHONUTF81。如果遇到缺少编译依赖的情况比如装某些带 C 扩展的包用到上面装好的 build-essential 就不会卡在这一步。R 的安装稍微复杂一点。Ubuntu 的 apt 仓库里 R 版本偏老建议用 CRAN 源安装最新稳定版$ sudo apt install r-base r-base-dev $ sudo apt install libcurl4-openssl-dev libssl-dev libxml2-dev装好之后进入 R 环境安装 BiocManager 和常用包install.packages(BiocManager) BiocManager::install(c(DESeq2, edgeR, limma, clusterProfiler, ggplot2, dplyr, tidyr))R 包安装经常需要编译如果报缺失某个系统库可以根据提示用 apt 安装。比如安装 curl 相关包报configure: error: libcurl 7.28.0 required就是 libcurl4-openssl-dev 没装。不过要提醒一下如果 conda 装了 R跟系统 R 可能会有冲突。conda 里也有 r-base、r-essentials用 conda 装 R 的好处是依赖管理更方便坏处是有些 R 包没有 conda 包还是要走 install.packages 编译而且 conda 环境内编译状态下不一定找得到系统头文件。我现在的习惯是系统级 R 管 Bioconductor 包conda 环境专注 Python 和生信工具两者不混用省心。如果你用 conda 装 R记得保证 conda 环境里已经装了 r-base-dev 的对应包别交叉混着用。4.5 项目目录规划给每个分析项目一个干净的家生信分析项目有一个很典型的目录结构要求——原始数据、中间结果、最终结果、脚本、文档要分清楚。我在服务器上一般给每个项目建一套固定模板/data/project1/ ├── raw_data/ # 原始数据只读 ├── scripts/ # 分析脚本 ├── results/ # 最终结果 ├── temp/ # 中间临时文件 └── docs/ # 分析文档和报告创建之后把 raw_data 目录的权限收紧只允许项目组成员读$ sudo chown -R root:bioinfo /data/project1/raw_data $ sudo chmod -R 750 /data/project1/raw_data这样设置的好处是避免有人误删或者覆盖原始测序数据。原始数据是整个分析的基础丢了就真的找不回来了权限收紧是最基础的保护。5. 常见问题与排查技巧实录5.1 系统启动后停留在 initramfs 或者直接 grub 提示符这个场景大多发生在改完 fstab 之后。启动时系统要挂载一个不存在的分区或者文件系统类型写错了就会卡住。如果你按我前面说的在 fstab 里加了nofail参数开机至少能起来如果没有卡住时输入 root 密码进修复模式然后执行mount -a看是哪一行报错或者直接注释掉错误行。5.2 创建的用户无法 sudo用户执行 sudo 提示 “user is not in the sudoers file”大概率是只用了 useradd 没加组。解决方式是用一个有 sudo 权限的账号执行$ sudo usermod -aG sudo zhangweiUbuntu 只认 sudo 组不认 wheel 组。如果你是从 RHEL 转过来的这点最容易踩坑。5.3 conda 安装速度慢或者软件包冲突conda 安装慢基本是源的问题检查 .condarc 配置文件确认 channels 指向的是国内镜像。如果有冲突比如提示 packages conflict建议先创建新环境再装不要尝试在已有环境里反复求解依赖conda 的 solver 在依赖复杂时会非常慢。或者用 mamba 替代 condamamba 用 C 重写了依赖求解逻辑速度能快一个数量级$ conda install -n base mamba -c conda-forge $ mamba install -y -c bioconda fastqcmamba 装软件的命令和 conda 完全一样只是把 conda 换成 mamba上手零成本但对速度的提升非常明显。生信环境依赖一多conda 求解可能要几分钟mamba 十几秒就搞定了。5.4 SSH 登录慢或免密登录失效登录慢通常是因为 sshd 在做 DNS 反查可以修改 /etc/ssh/sshd_config 里UseDNS no重启 sshd 立刻生效。免密登录失效有几种可能公钥内容不对、权限错误、或者目标用户的 home 目录权限太开放。sshd 要求家目录和 .ssh 不能对其他用户可写否则拒绝加载公钥。执行chmod 700 /home/zhangwei就能解决。5.5 挂载 NTFS 或 exFAT 格式数据盘很多个人工作站会用移动硬盘拷贝数据移动硬盘默认是 NTFS 或 exFAT。Ubuntu 默认没装对应驱动直接 mount 会报 unknown filesystem type。解决办法$ sudo apt install ntfs-3g exfat-fuse装完重新 mount 就行。生信实验室里经常有同事从 Windows 机器拷贝测序数据到服务器这个坑非常常见。6. 一些额外的运维建议系统安装和环境配置只是第一步服务器是要长期运行的我在这里补充几个实际运维中很有用的习惯。6.1 定期更新系统安全补丁Ubuntu 的自动安全更新默认是开启的但是只覆盖安全补丁不会做大版本升级。建议每周手动执行一次$ sudo apt update sudo apt upgrade -y升级完如果提示需要重启服务比如内核更新可以用sudo reboot重启。重启前记得检查有没有正在跑的分析任务awk 或者截断到结果的重定向通常都有 24 小时以上的任务别手贱在任务没完成时重启服务器。6.2 监控磁盘空间和内存生信数据增长非常快一个 WGS 的原始数据就有上百 GB不及时清理很容易把磁盘塞满。建议用 ncdu 查看目录大小分布$ sudo apt install ncdu $ ncdu /datancdu 是交互式的磁盘占用分析工具进入界面后用方向键浏览d 键删除文件速度很快。服务器内存监控的话htop或者free -h都够用了。6.3 关键数据备份生信服务器最怕的是磁盘损坏。数据盘如果存储的是原始测序数据或者重要的分析结果一定要做备份。条件有限的实验室至少要做到原始数据双份拷贝放在两块不同的物理盘上中间结果定期清理保留代码和最终结果即可重做分析的能力远比堆数据重要确保环境配置文件和脚本别丢6.4 记录环境变更强烈建议在服务器上放一个运维日志记下自己做了什么操作、装了什么软件、改了什么配置。可以是简单的 Markdown 文件比如 /data/ops_log.md每次操作加一条时间戳记录。几个月后排查问题时你会感谢当时的自己。我个人在实际操作中的体会是Linux 服务器的搭建不是一次性的任务而是一个持续调整的过程。第一次给新机器装环境可能从早忙到晚跑了几个项目、踩了几次坑之后你会逐渐形成自己顺手的配置模板以后再装新机器就快多了。这套流程我前前后后执行了几十次把每一步遇到的问题都记下来慢慢沉淀成了自己的一套标准作业流程。这篇文章就是基于这套流程写出来的希望对你有帮助。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑