当前位置: 首页 > 科技观察

如何在RockyLinux上安装MinIO存储?

时间:2023-03-14 11:13:20 科技观察

MinIO是一个用Go语言编写的免费开源对象存储服务器,它与AmazoneS3对象存储兼容,是最好和最免费的对象存储解决方案之一,使用MinIO,您可以存储照片,视频,日志文件,备份和容器/VM映像。在服务器端,MinIO提供了一个高度可扩展的架构加上应用程序的简单性,使应用程序服务器易于安装和配置,在客户端,它提供了一个二进制客户端应用程序,允许您从终端管理对象存储,此外,MinIO为喜欢使用网络浏览器的用户提供了一个功能强大且易于使用的网络管理仪表板。MinIO是一种自托管对象存储解决方案,适用于多种部署架构,您可以将MinIO作为对象存储部署在具有连续数据复制的大型基础设施上,或者在小型环境(例如家庭服务器)上。在本教程中,我们将带您完成在RockyLinux服务器上安装MinIO对象存储的过程,您还将使用MinIO创建一个新的对象存储,并配置一个Linux客户端机器来管理MinIO对象存储服务器。最后,您将在使用SSL证书保护的RockyLinux服务器上安装MinIO对象存储。您还将拥有一台客户端计算机来管理MinIO。先决条件要开始本教程,您需要满足以下要求:运行RockyLinux的服务器您可以使用RockyLinuxv8或v9。具有sudo/root权限的非root用户。额外的磁盘或目录将用作对象存储。对于生产,您需要一个指向RockyLinux服务器IP地址的域名。现在让我们跳到MinIO安装。手动安装MinIOMinIO是下一代对象存储,易于在服务器和客户端上安装和配置。MinIO为容器化和传统虚拟机提供了多个版本的包。您可以在Kubernetes、RedHatOpenShift或使用Docker上安装MinIO,对于虚拟机,您可以在任何Linux发行版上安装MinIO,或者使用Windows和macOS。在此示例中,您将在RockyLinux服务器上手动安装MinIO。运行以下curl命令将MinIO的二进制文件下载到“/usr/local/bin/minio”。curl-o/usr/local/bin/miniohttps://dl.min.io/server/minio/release/linux-amd64/minio现在通过下面的chmod命令使MinIO二进制文件可执行。sudochmod+x/usr/local/bin/minio为确保您可以执行MinIO二进制文件,您应该将'/usr/local/bin'目录添加到$PATH环境变量中。运行以下命令通过文件'~/.bashrc'配置将'/usr/local/bin'目录添加到**$PATH**环境变量。echo'exportPATH="$PATH:/usr/local/bin"'>>~/.bashrc接下来,重新加载'~/.bashrc'配置文件并使用以下命令验证**$PATH环境变量。**source~/.bashrcecho$PATH您应该看到“/usr/local/bin”目录已添加到**$PATH**环境变量中。在此之后,运行以下命令来验证以确保“minio”命令可用。有了这个,你应该得到MinIO二进制文件'/usr/local/bin/minio'的完整路径。whichminio最后,使用下面的“minio”命令验证系统上安装的当前MinIO版本。minio--version你会看到MinIO安装在RockyLinux上。您现在已经安装了MinIO。在设置对象存储之前,您需要准备好用作对象存储的磁盘或目录。为MinIO对象存储设置存储要设置MinIO对象存储,您需要设置一个目录或使用将用作对象存储的附加磁盘。在此示例中,您将学习如何将附加磁盘“/dev/vdb”设置为MinIO对象存储。首先,运行以下命令来检查“/dev/vdb”磁盘上的可用分区列表。在这个例子中,只有一个分区“/dev/vdb1”。fdisk-l/dev/vdb现在创建一个新目录“/minio-data”,它将用作分区“/dev/vdb1”的挂载点。mkdir-p/minio-data接下来,将分区“/dev/vdb1”挂载到目标目录“/minio-data”。sudomount/dev/vdb1/minio-data这将临时挂载“/??dev/vdb1”分区,重启后设置将消失。要使设置永久化,您可以通过“/etc/fstab”文件挂载分区,这样您就可以在开机时自动挂载分区。运行以下nano编辑器来编辑文件“/etc/fstab”。sudonano/etc/fstab将以下配置添加到文件中,并确保更改详细分区、目标挂载和文件系统格式。/dev/vdb1/minio-dataext4defaults00保存文件并在完成后退出编辑器。现在运行以下命令将空闲分区挂载到“/etc/fstab”文件中。确保没有错误消息,这意味着分区已挂载到每个目标目录。sudomount-a最后,运行以下命令来验证分区的配置。sudomount-a你应该看到分区“/dev/vdb1”挂载到目标目录“/minio-data”,它将用作MinIO对象存储。您现在已经为对象存储配置了分区。接下来,您将开始配置您的MinIO安装。配置MinIO对象存储在此步骤中,您将为MinIO创建新配置并创建将用于运行MinIO服务的新配置文件。MinIO配置应位于“/etc/minio”,运行MinIO服务的配置应位于“/etc/default/minio”。首先,通过运行以下命令为MinIO创建一个新的专用系统用户。该用户将用于运行MinIO服务。sudouseradd-rminio-s/sbin/nologin接下来,运行以下命令将对象存储目录“/minio-data”的所有权更改为用户和组“minio”。sudochown-Rminio:minio/minio-data更改对象存储目录的归属后,需要创建一个新的配置目录'/etc/minio',以及一个默认的配置文件'/etc/default/minio'运行MinIO服务。运行以下命令创建配置目录“/etc/minio”并将新目录的所有权更改为用户“minio”。sudomkdir-p/etc/miniosudochown-Rminio:minio/etc/minio使用以下nano编辑器创建一个新的MinIO配置文件“/etc/default/minio”。sudonano/etc/default/minio在文件中添加如下配置。此外,请务必更改存储目录、MinIO管理员用户和密码详细信息。MINIO_ROOT_USER="minio"MINIO_VOLUMES="/minio-data"MINIO_OPTS="-C/etc/minio--address:9000--console-address:9001"MINIO_ROOT_USER=adminMINIO_ROOT_PASSWORD="PassMinioStorage"保存文件并退出编辑成品装置。最后,运行以下命令将MinIO配置文件“/etc/default/minio”的所有权更改为正确的用户“minio”。sudochownminio:minio/etc/default/minio您现在已经成功地为您的MinIO安装创建了配置目录和配置。考虑到这一点,您现在可以启动MinIO。但是,为了更容易,您将MinIO作为systemd服务运行。将MinIO作为系统服务运行在为MinIO创建配置目录和文件之后,您现在可以将MinIO设置为systemd服务。这使您可以通过终端服务器上的systemctl命令轻松管理MinIO。运行以下nano编辑器来创建一个新的systemd服务文件*'/lib/systemd/system/minio.service'*。sudonano/lib/systemd/system/minio.service在您的编辑器中,添加以下配置。[单位]Descriptinotallow=MinioDocumentatinotallow=https://docs.minio.ioWants=network-online.targetAfter=network-online.targetAssertFileIsExecutable=/usr/local/bin/minio[Service]WorkingDirectory=/usr/local/User=minioGroup=minioEnvirnotallow=-/etc/default/minioExecStartPre=/bin/bash-c"if[-z\"${MINIO_VOLUMES}\"];thenecho\"VariableMINIO_VOLUMESnotsetin/etc/default/minio\";exit1;fi"ExecStart=/usr/local/bin/minioserver$MINIO_OPTS$MINIO_VOLUMES#让systemd重启这个服务alwaysRestart=always#指定这个进程可以打开的最大文件描述符数LimitNOFILE=65536#禁用超时逻辑和等到进程停止TimeoutStopSec=infinitySendSIGKILL=no[Install]WantedBy=multi-user.target保存文件并在完成后退出编辑器。为MinIO创建systemd服务后,运行以下命令重新加载systemd管理器。sudosystemctldaemon-reload现在使用以下命令启动并启用“minio”服务。sudosystemctlstartminiosudosystemctlenableminio'minio'服务现在应该正在运行并启用。使用下面的systemctl命令验证“minio”服务。sudosystemctlstatusminio您现在应该收到正在运行的“minio”服务的输出。您还将看到该服务已启用,并将在系统启动时自动运行,尤其是在联网后。此时,MinIO在默认端口9000上运行,您可以通过访问您的服务器IP地址和TCP端口9000来验证它。但在此之前,您必须在firewalld上打开端口并使用SSL证书保护您的MinIO部署。设置防火墙在此步骤中,您将设置防火墙以打开MinIO对象存储的端口。默认的MinIO安装使用端口9000用于用户Web管理仪表板和端口9001用于API。运行以下firewall-cmd命令以在firewalld上打开端口9000和9001。sudofirewall-cmd--znotallow=public--add-port=9000/tcp--permanentsudofirewall-cmd--znotallow=public--add-port=9001/tcp--permanent接下来,运行以下命令进行重置加载firewalld规则并对它们应用新的更改。然后,验证在firewalld上启用的规则列表。sudofirewall-cmd--reloadsudofirewall-cmd--list-all您应该看到端口9000和9001添加到firewalld。使用SSL证书保护MinIO在firewalld上设置端口后,接下来您将使用SSL证书保护您的MinIO安装。在开始使用SSL保护MinIO之前,请确保您已生成SSL证书。如果你在生产环境中安装MinIO,你应该将域名指向你的服务器IP地址。运行以下cp命令将SSL证书复制到“/etc/minio/certs”目录。此示例使用Letsencrypt生成的SSL证书并使用域“minio.hwdomain.io”。sudocp/etc/letsencrypt/live/minio.hwdomain.io/privkey.pem/etc/minio/certs/private.keysudocp/etc/letsencrypt/live/minio.hwdomain.io/fullchain.pem/etc/minio/certs/public.crt接下来,使用以下nano编辑器打开MinIO配置文件“/etc/default/minio”。sudonano/etc/default/minio添加选项'MINIO_SERVER_URL'使用您的域配置和更改域名。MINIO_SERVER_URL="https://minio.hwdomain.io:9000"完成后,保存文件并退出编辑器。每当您对“/etc/default/minio”文件进行更改时,请使用下面的systemctl命令重新启动“minio”服务以应用您的更改。sudosystemctlrestartminioMinIO对象存储现在正在运行并使用SSL证书进行保护。现在打开您的网络浏览器并访问您的MinIO安装的域名,后跟默认端口9000(即:https://minio.hwdomain.io:9000/)。您应该会看到MinIO登录页面。输入“/etc/default/minio”文件中配置的用户名和密码,点击登录。如果您有正确的用户名和密码,您应该会看到如下所示的MinIO用户仪表板屏幕。您现在已配置好所有内容并安装并保护了MinIO。在下一步中,您将学习如何使用MinIO命令行设置存储桶和设置客户端计算机。创建您的第一个存储桶并上传文件在这一步中,您将学习如何通过Web管理仪表板在MinIO上创建存储桶。在开始之前,请确保您已使用您的用户登录到MinIO仪表板。要在MinIO上创建存储桶,请单击“存储桶”菜单,然后单击“创建存储桶”按钮。现在输入您的存储桶的名称和详细信息,然后单击“创建存储桶”进行确认。在此示例中,您将创建一个新存储桶“test-bucket”。创建存储桶后,您可以在“测试存储桶”中上传新文件或创建目录。在以下屏幕中,您可以看到新上传的文件“pool1.png”和“pool2.png”到“test-bucket”。设置MinIO客户端CLIMinIO提供了一个客户端应用程序,允许您通过命令行管理MinIO对象存储。在此示例中,您将在客户端计算机上安装MinIO客户端CLI,添加MinIO服务器,然后通过命令行验证列表存储桶和文件。在您的本地计算机上,运行以下命令将MinIO客户端CLI下载到“/usr/local/bin/mc”。curl-o/usr/local/bin/mchttps://dl.min.io/client/mc/release/linux-amd64/mc下载后,使MinIO客户端CLI'/usr/local/bin/mc'可执行.sudochmod+x/usr/local/bin/mc现在运行以下命令来验证MinIO客户端CLI的版本。您应该会看到系统上安装了MinIO客户端。whichmcmc--version在配置完MinIO客户端CLI之后,您接下来将添加您的MinIO服务器。运行以下命令将MinIO服务器添加到本地计算机。并确保更改别名“test-minio”、您的MinIO对象存储的域名以及用户和密码。mcaliassettest-miniohttps://minio.hwdomain.io:9000admin添加PassMinioStorage后,您应该会看到一条输出消息,例如“test-minio添加成功”。现在运行以下命令来验证“test-minio”。现在您应该获得有关“test-minio”服务器的详细信息。mcadmininfotest-minio接下来,检查“test-minio”服务器上可用的桶列表。您应该在“test-minio”服务器上获得“test-bucket”。mclstest-minio最后,运行以下命令来检查“test-bucket”中的文件列表。mclstest-minio/test-bucket在下面的屏幕中,您可以看到文件“pool1.png”和“pool2.png”在“test-bucket”中可用。该文件与上例中上传的文件相同。通过MinIO命令行创建存储桶在这最后一步中,您将学习如何通过MinIO客户端命令行管理存储桶。您将通过客户端命令行创建一个新存储桶、上传文件并验证MinIO存储桶上的文件列表。运行以下命令在“test-minio”服务器上创建一个新存储桶“test-bucket2”。mcmbtest-minio/test-bucket2使用以下命令创建一个新文件“test.txt”。该文件将上传到“test-bucket2”。echo"testfile">test.txt接下来,通过以下“mccp”命令将文件“test.txt”上传到“test-bucket2”。mccptest.txttest-minio/test-bucket2上传文件后,运行以下命令验证“test-bucket2”上的文件列表。mclstest-minio/test-bucket2您现在应该收到如下屏幕截图所示的输出。文件“test.txt”上传到“test-bucket2”。现在返回MinIO用户仪表板并单击“Buckets”菜单。您应该看到创建了“test-bucket2”。单击“test-bucket2”,您应该会看到通过MinIO命令行上传的文件“test.txt”。结论在本指南中,您已经在RockyLinux服务器上安装和配置了MinIO对象存储。您还了解了在Linux上设置磁盘和使用SSL证书保护MinIO以及将MinIO作为系统服务运行的基本配置。最后通过MinIOweb管理dashboard创建了存储桶并上传了文件,了解了MinIO的基本使用。您还学习了如何安装MinIO客户端命令行及其基本用法,用于添加MinIO服务器、创建存储桶、检查存储桶上的文件列表以及将文件上传到特定存储桶。