“云”一词暗示着某种巨大的、延伸到广阔无垠的地方。在IDC领域,“云”是指向最终用户提供服务的虚拟实体,包括数据存储、应用程序托管和物理资源的虚拟化。在当今互联网环境中,各种规模的企业或组织都利用云计算来存储数据并为客户提供上述优势。
众所周知,云服务主要分为三种类型:
- SaaS(软件即服务) ——该服务使用户能够访问大型组织提供的公共云以进行数据存储,例如Gmail。
- PaaS(平台即服务) ——PaaS允许用户在其它公共云上托管应用程序或软件。例如,Google App Engine托管用户应用程序。
- IaaS(基础设施即服务) ——IaaS虚拟化物理机器,使它们可供客户使用,并提供类似于使用真实机器的体验。
什么是云存储?
云存储是指将数据存储在远程服务器而不是用户本地系统上的做法。这个概念可以追溯到1983年,当时CompuServe最初为其客户提供128K的磁盘空间用于文件存储。此后,云存储领域经历了不断的发展,并且由于数据丢失、信息泄露、黑客攻击和其他恶意攻击等持续存在的威胁,云存储领域还将继续发展。
因此,许多组织已加紧提供自己的云存储和数据隐私解决方案,为其未来的加强和稳定做出贡献。在本文中,小编将整理一些比较不错的Linux开源云存储软件,这些软件已获得大型组织和公众的广泛接受。
1、OwnCloud
作为Linux用户的Dropbox替代品,OwnCloud提供了许多与Dropbox类似的功能,它作为自托管文件同步和共享服务器运行。
其开源功能使用户可以访问无限量的存储空间。该项目于2010 年1月启动,旨在为专有云存储服务提供商提供开源替代品。它是用PHP、JavaScript编写的,可用于Windows、Linux和OS X桌面,甚至成功地提供了适用于Android和 iOS的移动客户端。
OwnCloud采用WebDav服务器进行远程访问,可以与大量数据库集成,包括SQLite、MariaDB、MySQL、Oracle数据库和PostgreSQL。它提供大量可数的功能,其中包括:文件存储和加密、音乐流、跨 URL的内容共享、Mozilla同步托管和RSS/atom提要阅读器、一键式应用程序安装、视频和PDF查看器等等。
最新版本的ownCloud ie 10添加了其它新功能,包括改进的设计,允许管理员通知用户并对垃圾箱中的文件设置保留限制。
2、Nextcloud
Nextcloud是一个开源的客户端-服务器应用程序套件,用于创建和使用文件托管服务。从个人到大型企业,每个人都可以使用该软件在其私人服务器设备上安装和操作该应用程序。
使用Nextcloud,可以共享系统上的多个文件和文件夹,并将它们与你的Nextcloud服务器同步。该功能与Dropbox类似,但它提供本地文件存储托管,具有强大的安全性、合规性和灵活性,可以为您控制的服务器提供同步和共享解决方案。
3、Seafile
Seafile提供适用于Windows、Linux和OS X的桌面客户端以及适用于Android、iOS和Windows Phone的移动客户端。除了根据通用公共许可证发布的社区版本外,它还有根据商业许可证发布的专业版本,提供社区版本不支持的额外功能,即用户日志记录和文本搜索。
自2012年7月开源以来,它开始受到国际关注。其主要特点是同步和共享,主要关注数据安全。
Seafile其他功能在许多大学(例如柏林大学和斯特拉斯堡大学)以及全球其它数千人系统中都很常见,包括在线文件编辑、差分同步以最大限度地减少所需的带宽、客户端加密以确保安全客户数据。
4、Pydio Cells
Pydio Cells以前简称为Pydio,以前称为AjaXplorer,是开源文件共享和同步软件,可以在用户的个人服务器或云中运行。
Pydio Cells可通过两种不同的发行版访问:免费开源社区版本 ( Pydio Cells Home ) 和商业许可的企业版本(提供两种变体,分别是Pydio Cells Connect和Pydio Cells Enterprise)。企业发行版提供了社区版本中没有的附加功能,并提供了社区论坛之外的增强支持选项。
该软件附带的其他功能包括具有语法突出显示的文本编辑器、音频和视频播放、Amazon、S3、FTP或MySQL数据库的集成、图像编辑器以及甚至通过公共URL的文件或文件夹共享。
5、Ceph
Ceph最初是由Sage Weil为他的博士论文而启动的,2007 年秋天,他全职继续这个项目并扩大了开发团队。
2014年4月,红帽将其开发引入内部。目前Ceph已经发布了18个版本,最新版本为18.2.0。Ceph是一个用C++和Python编写的分布式集群,具有高度可扩展性并且免费提供。此外,数据可以作为块设备、文件或通过RADOS网关以对象形式填充到Ceph中,RADOS网关可以提供对Amazon S3和Openstack Swift API支持。除了数据安全、可扩展、可靠之外,Ceph提供的其它功能还有:
- 网络文件系统,旨在高性能和大数据存储。
- 与VM客户端的兼容性。
- 允许部分/完整读/写。
- 对象级映射。
6、Syncany
Syncany是最轻量级的开源云存储和文件共享应用程序之一,目前由Philipp C. Heckel积极开发,截至目前,它可作为命令行工具和GUI用于所有支持的平台。Syncany最重要的功能之一是它是一个需要你自带存储的工具,可以是FTP或SFTP存储、WebDAV或Samba共享、Amazon S3存储桶等。
使其成为一款出色工具的其他功能包括对离开本地计算机的所有数据进行128位 AES+Twofish/GCM加密、文件共享支持(可以通过该支持与朋友共享文件)、由用户选择的异地存储。用户而不是基于提供商的存储、基于间隔或按需备份、二进制兼容文件版本控制、文件本地重复数据删除。
所以,它对于想要使用自己的存储空间而不是信任某些提供商提供存储的公司来说可能更有利。
7、Cozy
Cozy不仅仅是一个文件共享或同步工具或软件,它还捆绑为一个完整的功能包,可以帮助您构建完整的App Engine。与Syncany一样,Cozy在存储空间方面为用户提供了灵活性。你可以使用自己的个人存储,也可以信任Cosy团队的服务器。
Cozy依赖于一些开源软件来实现其完整功能,这些软件是:用于数据库存储的CouchDB和用于索引的Whoosh,它适用于包括智能手机在内的所有平台。
云存储软件的主要功能是能够在云中存储所有联系人、文件、日历等,并在笔记本电脑和智能手机之间同步它们,从而提供创建自己的应用程序并与他人共享的能力其他用户只需共享存储库的Git URL 、托管静态网站或HTML5视频游戏控制台即可。
8、GlusterFS
GlusterFS是一个网络附加文件存储系统。最初由Gluster Inc.启动,该项目现在隶属于Red Hat Inc.。在2011年收购Gluster Inc.后,Red Hat将Gluster FS与其Red Hat Storage Server集成,更名为Red Hat Gluster Storage。
它可用于包括Linux、OS X、NetBSD和OpenSolaris在内的平台,其中一些部分根据GPLv3获得许可,而其它部分根据GPLv2获得双重许可。它已被用作学术研究的基础。
GlusterFS使用客户端-服务器模型,将服务器部署为存储块。客户端可以通过TCP/IP、Infiniband或SDP使用自定义协议连接到服务器,并将文件存储到GlusterFs服务器。它在文件上使用的各种功能包括基于文件的镜像和复制、基于文件的剥离、负载平衡、调度和磁盘缓存等。
GlusterFS的另一个非常有用的功能是它很灵活,即这里的数据存储在本机文件系统上,如xfs、ext4等。
9、Git-annex
Git-annex是Joey Hess开发的另一个文件同步服务,它也旨在解决文件共享和同步问题,但独立于任何商业服务或中央服务器。它是用Haskell编写的,可用于Linux、Android、OS X和Windows。Git-annex管理用户的git存储库,而不将会话存储在git中。但相反,它只存储git存储库中文件的链接,并在单独的位置管理与该链接关联的文件。它确保了需要恢复丢失信息时所需的文件副本。
此外,Git-annex还确保文件数据在需要时立即可用,从而防止文件出现在每个系统上,这减少了大量的内存开销。值得注意的是,Git-annex可在各种Linux发行版上使用,包括Fedora、Ubuntu、Debian等。
10、XigmaNAS
XigmaNAS是一个基于FreeBSD的开源强大且可定制的存储NAS(即网络附加存储)操作系统,专为通过计算机网络共享计算机数据存储而构建。它几乎可以安装在任何硬件平台上,并支持在Linux和其它类Unix操作系统、Windows以及Mac OS之间共享数据。
XigmaNAS的一些功能包括支持ZFS v5000、软件RAID(0、1、5)、磁盘加密、SMART/电子邮件报告等等。它支持多种网络协议,包括CIFS/SMB (Samba)、Active Directory域控制器 (Samba)、FTP、NFS和RSYNC等。
11、Yunohost
Yunohost是一个基于Debian GNU/Linux 的免费开源轻量级、可靠且安全的自托管操作系统。它为你提供友好的Web界面来管理服务器,从而简化了服务器管理。
它允许管理用户帐户(通过LDAP)和域名,支持创建和恢复备份,并配备完整的电子邮件堆栈(Postfix、Dovecot、Rspamd、DKIM)和即时消息服务器。此外,它还支持yunohost-firewall和failure2ban等安全工具,以及SSL证书的管理。
12、Sandstorm
Sandstorm是一款基于Web的开源自托管生产力套件,旨在在你自己的私人服务器或社区运行的服务器上轻松、安全地运行开源Web应用程序。它支持文件存储以及使用Davros、聊天应用程序、邮箱、任务和项目管理应用程序、文档编辑功能等与其他人共享。
你在Sandstorm中安装的每个应用程序都被容器化在自己的安全沙箱中,未经明确许可,它无法与外界通信。重要的是,Sandstorm支持安全的操作模型,可以轻松遵守安全、监管和数据隐私要求。所以,它是为个人、企业和开发人员构建的。
13、Syncthing
Syncthing是一款开源、简单但功能强大、可移植、私有且安全的连续文件同步工具,可以在两个或多个主机之间实时同步文件。它适用于Linux、Mac OS X、Windows、FreeBSD、Solaris和OpenBSD。
通过Syncthing进行的所有通信均经过加密(使用TLS进行保护),并且每台设备均由强大的加密证书进行识别,以确保安全身份验证。你可以通过强大且响应迅速的用户界面(UI)设置和监控Syncthing操作,该用户界面可通过Web浏览器访问。
14、FileCloud
FileCloud是一种私有且安全的云存储服务,支持家庭和企业使用的文件共享、同步、备份和远程访问。它可以在Linux、Windows、Mac以及所有主流手机和平板电脑(包括iPhone、iPad、Android和Windows Phone)上运行。此外,它还可以在Raspberry Pi上运行。
FileCloud允许你在家中的计算机上访问和共享文件。企业用户可以使用它为员工、客户和客户组织、搜索、共享、同步、备份和管理企业文档。此外,它还支持超快速、高性能的媒体组织和从任何地方的访问。
总结
以上都是整理的一些已知的开源云存储和同步软件,这些软件当中有些已经广受欢迎,使用非常广泛,而有些则刚进入这个行业且非常具有潜力,但不管怎样,基本上都还有很长的路要走。你或许已经在使用它们当中的一款或几款软件了,如果都没有的话,也可以尝试使用,它们都相当的不错。