CentOS镜像的存储管理涵盖本地镜像挂载、YUM源配置、Docker镜像优化、远程同步及性能调优等多个场景,以下是具体技巧:
本地镜像挂载适用于离线环境或快速访问镜像内容,常见场景包括系统安装、软件部署。
/mnt/iso),使用mount -o loop命令挂载ISO文件(如sudo mount -o loop /path/to/CentOS-7-x86_64-DVD-1804.iso /mnt/iso),验证挂载状态(df -h)。如需开机自动挂载,编辑/etc/fstab文件,添加/dev/sr0 /mnt/iso iso9660 defaults,loop 0 0(根据实际设备名调整)。http://或ftp://协议挂载(如sudo mount -o loop http://mirror.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso /mnt/network_iso),同样需配置fstab实现开机自动挂载。将CentOS镜像转化为本地YUM源,解决内网无网络时的软件安装问题。
sudo mkdir /etc/yum.repos.d/backup && sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/);sudo vi /etc/yum.repos.d/local.repo),内容如下:[local]
name=Local CentOS ISO
baseurl=file:///mnt/iso # 挂载点路径
enabled=1
gpgcheck=0
③ 清除缓存并更新(sudo yum clean all && sudo yum makecache);sudo yum install gcc)。通过rsync同步CentOS官方镜像站(如中科大源)的内容到本地,搭建私有YUM仓库,适用于内网多台服务器使用。
sudo yum -y install rsync createrepo);/storage/repos/centos/7/{os,updates,extras}/x86_64);repodata目录,后续生成):rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /storage/repos/centos/7/os/x86_64/
rsync -avz --delete --exclude='repodata' rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ /storage/repos/centos/7/updates/x86_64/
④ 生成元数据(createrepo /storage/repos/centos/7/os/x86_64/等);crontab -e添加0 3 * * * /etc/cron.daily/update-repos),定期同步更新。Docker镜像是CentOS容器的核心,优化其存储可节省空间、提升部署效率。
RUN yum clean all,删除临时文件)。docker tag),便于版本控制(如centos:7-minimal);docker image prune删除悬空镜像,docker rmi删除指定镜像);docker save导出为文件,docker load导入文件,适用于迁移场景)。通过rsync同步远程镜像站的特定目录(如os、updates),保持本地镜像与官方同步。
rsync -avz --delete --exclude='repodata' rsync://mirrors.aliyun.com/centos/7/os/x86_64/ /storage/repos/centos/7/os/x86_64/
rsync -avz --delete --exclude='repodata' rsync://mirrors.aliyun.com/centos/7/updates/x86_64/ /storage/repos/centos/7/updates/x86_64/
注:--delete选项会删除本地不存在于远程的文件,确保一致性;--exclude='repodata'避免同步元数据,后续通过createrepo重新生成。优化CentOS系统性能,间接提升镜像存储与访问效率。
swappiness(减少交换分区依赖,提升内存使用效率):echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p;echo 'net.core.rmem_max=16777216' | sudo tee -a /etc/sysctl.conf,echo 'net.core.wmem_max=16777216' | sudo tee -a /etc/sysctl.conf。noop,低延迟应用用deadline);noatime挂载文件系统(避免每次读取更新访问时间,减少磁盘I/O):mount -o remount,noatime /。以上技巧覆盖了CentOS镜像从本地挂载到远程同步、从Docker存储到性能优化的完整场景,可根据实际需求选择使用。