APP下载

基于Docker技术的私有云存储平台快速部署应用

2023-08-26刘迪樊匀

电脑知识与技术 2023年21期
关键词:虚拟化技术可扩展性

刘迪 樊匀

关键词:虚拟化技术;Docker;容器化技术;私有云存储;可移植性;可扩展性

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2023)21-0007-03

0 引言

随着云计算技术的快速发展,私有云存储平台作为一种灵活、安全和可定制的数据存储解决方案,得到了广泛的应用和关注。然而传统的私有云存储平台部署方式通常复杂且耗时,限制了其快速部署和灵活性,对于非技术专业人员来说存在一定的难度。为解决这一问题,本文致力于探索一种基于Docker技术的解决方案,旨在利用容器化技术实现私有云存储平台的快速部署,降低部署的复杂性,从而提升整体部署效率。通过将私有云存储平台的各个组件(如存储引擎、认证服务、Web接口等)封装为独立的容器,并使用Docker Compose工具来定义容器之间的依赖关系和配置参数[1]。使用此方法,用户可以一键式搭建并部署私有云存储平台,减少了烦琐的手动配置和调试过程。

本文还探讨了使用Docker镜像仓库和版本工具来管理和更新私有云存储平台的优势。将私有云存储平台生成的镜像文件存储在仓库中,不仅方便用户对镜像的获取和分享,还可以提高镜像存储的安全性。通过实验可以验证该快速部署方案的有效性和性能优势,因此,基于Docker技术实现私有云存储的快速部署,能够为用户提供一种简单、高效和可靠的私有云存储平台部署方案。

1 Docker 技术概述

Docker 作为一个使用Go 语言来实现的开源项目,是基于LXC (Linux Container) 内核虚拟化技术发展而来的[2],它通过对容器的使用进行优化,包含引擎、镜像、容器和仓库四个核心组件[3]。Docker的工作方式是将用户所需的应用程序或服务以及其依赖的系统环境创建为一个独立的镜像,然后将该镜像放在容器中运行。创建好的镜像可以存储在仓库中,方便用户在不同的设备上下载并直接运行,无须重复构建操作[3]。

近年来,Docker容器技术的应用越来越广泛。这主要归功于Docker容器的弹性,用户可以快速、方便地完成容器的创建和删除操作,与传统的虚拟化技术相比,Docker具有显著的优势。首先,Docker旨在实现轻量化的虚拟化技术,容器的启动速度很快,仅需几秒钟就可以启动并运行。其次,基于Docker的技术特点,系统资源开销较低,可以在单个主机系统上运行大量的容器服务。此外,由于容器本身不包含内核,因此额外开销大大减少,系统资源利用率高,从而提升了容器的应用性能[4],具体如表1所示。

2 开源私有云存储平台Nextcloud

现在各类型公有云存储服务在使用上有着诸多限制,如上传或下载速度受限、存储空间有限额、资料存储的安全性得不到保障等,甚至有一些免费的服务项目也陆续被关闭或停用。如需要继续使用这些公有云存储服务,或想得到更好的服务保障,用户则必须按使用的服务类型阶梯状和周期性地付费,而很多用户更是多个公有云存储服务的用户,经济负担较大。

Nextcloud是一个基于开源技术的私有云存储平台,采用PHP语言实现。Nextcloud支持在多个操作系统平台上运行,并具备对多个数据库系统的兼容性,因此具有高度的灵活性。用户可以在任何地点随时访问和使用存储在云端的数据文件[5]。此外,Next?cloud还提供了针对移动设备和桌面的客户端,包括IOS、Android、PC和Mac等,通过数据加密确保了数据同步和共享的安全性[6]。用户可以通过云端平台服务实现不同客户端之间的数据共享链接,并通过同步机制确保数据的一致性和完整性。对于需要使用公有云存储服务的用户,Nextcloud也支持通过WebDAV方式进行云端数据共享访问[7]。Nextcloud私有云存储平台的框架图(如图1) 。

目前,Docker仓库中也发布有Nextcloud镜像,用户通过下载该容器镜像文件,可以便捷地部署一套或多套私有云存储系统。

3 私有云存储平台部署

3.1 部署环境

在私有云存储平台的部署过程中,采用ProxmoxVE 7.3作为实验平台,2台虚拟主机则选择基于RedHatLinux社区版Centos 8 64位的Linux操作系统作为主机系统[8]。为了减少系统资源消耗并提高虚拟主机的稳定性和可靠性,选择最小化安装方式进行操作系统的安装。在选择文件系统时,使用XFS文件系統格式。XFS 文件系统具有较高的数据存储容量,并支持数据存储的结构化扩展性,因此更适合在私有云存储平台中使用。如果是企业用户,则可以考虑使用安装硬件阵列卡,并在硬件阵列卡中将存储磁盘设置为Raid阵列冗余模式,一般采用Raid5或Raid6模式,这样可以在最大程度上保障数据存储的安全性和可靠性。基于容器化的私有云存储平台架构设计图(如图2) 。

3.2 部署步骤与流程

传统虚拟化环境中,部署离散式服务涉及安装WEB服务和数据库服务等步骤,同时需要配置相应的网络环境,一旦外部虚拟化环境发生变化,必须重新进行配置和部署。而基于Docker技术的私有云存储平台的部署步骤则简化很多:

首先,需要安装Docker环境,可以通过使用DNF 方式首先安装并启用Docker CE存储库,命令为:“dnfconfig-manager--add-repo=https://download. docker. com/centos/docker-ce.repo”,安装结束后,重新启动Docker 服务。Nextcloud服务端默认采用SQLite数据库,虽然可以满足单个用户的使用需求,但若用户数量较多,应将SQLite 替换为Mariadb 数据库。由于仓库中的Nextcloud镜像默认未安装MySQL数据库,因此需要单独进行数据库容器的安装配置。

其次使用以下命令安装MySQL数据库镜像,并在其基础上创建名为“mysql”的容器(如图3) :

接下来通过以下命令下载并安装Nextcloud镜像,并创建名为“nextcloud”的容器,基本就可以完成部署工作(如图4) :

最后,通过命令“docker ps -a”命令查看已经启动的2个容器(如图5) 。

平台部署完成后,无须像传统虚拟化环境中对每项服务进行单独管理配置,仅通过使用"docker start/stop"命令就可以迅速启动和停止其服务,服务管理效率高。此外,通过将配置完备的容器打包成镜像文件,上载并存储在Docker仓库中,以便未来在其他主机上进行快速部署,具备出色的可移植性,从而避免重新配置环境和参数,大大提高了部署效率。

3.3 私有云存储平台的注册管理

在容器启动完成后,可以通过WEB方式访问私有云平台服务,在对应的选项栏目中填入数据库名、数据库主机名、数据库用户名以及用户密码相应信息,创建好nextcloud中管理员用户(如图6) 。

完成首次登录配置后,管理员即可根据用户需要创建不同的用户名,并可在Nextcloud平台中设置用户权限、文件存储上限、用户邮件通知以及安装第三方插件等。

4 结果分析

实验选取了大小为4.41GB的单个文件,分别上传4次至两种不同技术下部署的私有云存储平台中,每次上传成功后再删除该文件,重复操作,以此模拟日常私有云存储平台的使用情况,平台的系统资源使用情况对比(如图7,左图为传统虚拟化技术,右图为Docker技术)

通過对比发现, 使用Docker技术部署的私有云存储平台中的资源开销要优于传统虚拟化技术中的资源开销(如表2) 。

整个部署过程是通过节点中Docker引擎服务,完成Nextcloud私有云存储平台的安装与配置。相较于采用传统虚拟化技术搭建私有云存储平台,通过Docker技术进行部署,从部署时间、系统扩展性、数据安全性和资源利用率等方面均要优于传统虚拟化技术中的部署(如表3) 。

5 结论

本文介绍了基于Docker技术实现私有云存储平台快速部署的方法。通过利用Docker容器化技术,可以提高私有云存储平台的部署效率和资源利用率。Docker的核心组件和功能,包括引擎、镜像、容器和仓库等,为私有云存储平台的构建和管理提供了强大的支持。与传统虚拟化技术相比,Docker具有更低的资源开销和更快的启动速度。在云计算中,Docker可以用于快速部署和管理存储服务,提供弹性和高可用性。未来还可进一步探索如何优化和扩展基于Docker 技术的私有云存储平台,以满足用户不断增长的存储需求。

猜你喜欢

虚拟化技术可扩展性
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
电力监控软件的可扩展性设计
构建高可扩展性的物流装备管理系统
气动光学效应仿真系统设计与实现