Implementar el almacén YUM y el servicio NFS
- 1. Implementar el almacén de software de YUM
- 2. Servicio de almacenamiento compartido NFS
1. Implementar el almacén de software de YUM
1. Comprender el almacén de software de YUM
Los almacenes de software de YUM generalmente se publican mediante protocolos HTTP o FTP, de modo que los servicios de origen del software se puedan proporcionar a todos los clientes de la red. Para que el cliente consulte paquetes de software y obtenga dependencias y otra información, los datos del almacén (repodatos) deben proporcionarse en el almacén de software, que recopila la información del encabezado de todos los paquetes rpm en el directorio.
Con la ayuda del almacén de software YUM, se pueden completar tareas como la instalación, desinstalación y actualización automática de paquetes rpm, y las dependencias entre paquetes rpm se pueden encontrar y resolver automáticamente sin necesidad de que los administradores instalen manualmente cada paquete rpm uno por uno, de modo que la administración La fuente es más fácil de mantener una gran cantidad de servidores Linux. Especialmente en una red local con una gran cantidad de hosts Linux, la creación de un servidor original puede aliviar en gran medida la dependencia de Internet, como la instalación y las actualizaciones de software.
2. Cree el entorno del sistema antes de YUM
Hay dos máquinas virtuales de la versión 7.4 de Linux, se han configurado direcciones IP, la red se ha conectado a Internet. La protección central del cortafuegos y el kernel están desactivadas (importante) . El CD del sistema se monta automáticamente en el directorio ** "/ mnt" ** después de la configuración. El nombre de host del servidor se establece en wu, IP: 20.0.0.15, y el
nombre de host del cliente se establece en li, IP: 20.0.0.16. Todos los usuarios de inicio de sesión son usuarios root.
3. Construya el almacén de software YUM en el sistema Linux
3.1. Crear un almacén de software YUM del lado del servidor
1. Prepare el catálogo del almacén de software
2. Instale y habilite el servicio vsftpd
3. Pruebe si la creación es exitosa
3.2, construir el almacén de software YUM del cliente
1. Crear almacén
2. Editar almacén
[centos] //仓库类别
name=CentOS //仓库名称
baseurl=ftp://20.0.0.15/li //访问仓库的方式和路径
gpgcheck=0 //验证软件包的签名 0为不验证 1为验证
enabled=1 //启用此软件仓库
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
//验证签名的公钥文件位置 ,这里使用#注释掉了,因为没有开启验证。
[other]
name=other
baseurl=ftp://20.0.0.15/ming
gpgcheck=0
enabled=1
3. Almacén de prueba
[root@li ~]# yum clean all //清楚仓库缓存
已加载插件:fastestmirror
正在清理软件源: centos other
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@li ~]# yum makecache //建立新的仓库缓存
已加载插件:fastestmirror
centos | 3.6 kB 00:00
other | 3.6 kB 00:00
(1/8): centos/group_gz | 156 kB 00:00
(2/8): centos/filelists_db | 3.1 MB 00:00
(3/8): centos/other_db | 1.2 MB 00:00
(4/8): centos/primary_db | 3.1 MB 00:00
(5/8): other/group_gz | 1.1 kB 00:00
(6/8): other/filelists_db | 586 B 00:00
(7/8): other/other_db | 575 B 00:00
(8/8): other/primary_db | 1.1 kB 00:00
Determining fastest mirrors
元数据缓存已建立
[root@li ~]# yum -y install dhcp
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
dhcp x86_64 12:4.2.5-58.el7.centos centos 513 k
事务概要
================================================================================
安装 1 软件包
总下载量:513 k
安装大小:1.4 M
Downloading packages:
dhcp-4.2.5-58.el7.centos.x86_64.rpm | 513 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : 12:dhcp-4.2.5-58.el7.centos.x86_64 1/1
验证中 : 12:dhcp-4.2.5-58.el7.centos.x86_64 1/1
已安装:
dhcp.x86_64 12:4.2.5-58.el7.centos
完毕! //安装完成 说明客户端连接使用了服务器端的YUM仓库
4. Comandos comunes para administrar el almacén de YUM
4.1, lista de paquetes yum list-query
[root@li ~]# yum list //可以看到系统已经安装和未安装的软件
.......
xvattr.x86_64 1.3-27.el7 centos
xz-devel.x86_64 5.2.2-1.el7 centos
yajl.x86_64 2.0.4-4.el7 centos
yelp.x86_64 1:3.22.0-1.el7 centos
yelp-libs.x86_64 1:3.22.0-1.el7 centos
yelp-tools.noarch 3.18.0-1.el7 centos
yelp-xsl.noarch 3.20.1-1.el7 centos
yp-tools.x86_64 2.14-5.el7 centos
ypbind.x86_64 3:1.37.1-9.el7 centos
ypserv.x86_64 2.31-10.el7 centos
yum-langpacks.noarch 0.4.2-7.el7 centos
yum-plugin-aliases.noarch 1.1.31-42.el7 centos
yum-plugin-changelog.noarch 1.1.31-42.el7 centos
yum-plugin-tmprepo.noarch 1.1.31-42.el7 centos
yum-plugin-verify.noarch 1.1.31-42.el7 centos
yum-plugin-versionlock.noarch 1.1.31-42.el7 centos
yum-utils.noarch 1.1.31-42.el7 centos
zenity.x86_64 3.22.0-1.el7 centos
zip.x86_64 3.0-11.el7 centos
zlib-devel.x86_64 1.2.7-17.el7 centos
zsh.x86_64 5.0.2-28.el7 centos
zziplib.x86_64 0.13.62-5.el7 centos
4.2, yum info-consulta la información de descripción del paquete de software
[root@li ~]# yum info httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
已安装的软件包
名称 :httpd
架构 :x86_64
版本 :2.4.6
发布 :67.el7.centos
大小 :9.4 M
源 :installed
来自源:centos
简介 : Apache HTTP Server
网址 :http://httpd.apache.org/
协议 : ASL 2.0
描述 : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
4.3, yum búsqueda-consulta del paquete de software especificado
[root@li ~]# yum search httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
========================================= N/S matched: httpd ==========================================
httpd.x86_64 : Apache HTTP Server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
名称和简介匹配 only,使用“search all”试试。
[root@li ~]# yum search all httpd
4.4, yum instalar, eliminar, actualizar-instalar, desinstalar, actualizar paquetes de software
Utilice la herramienta yum para instalar, actualizar y desinstalar paquetes de software, respectivamente mediante subinstalación, actualización y eliminación. El objeto de operación es el nombre del paquete especificado (puede haber varios). La ejecución de la operación verificará y resolverá automáticamente las dependencias entre los paquetes de software, durante el cual se le pedirá al usuario que confirme presionando la tecla y. Puede agregar la opción "-y" después del comando yum.
[root@li ~]# yum -y install tftp //安装软件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tftp.x86_64.0.5.2-13.el7 将被 安装
--> 解决依赖关系完成
......
已安装:
tftp.x86_64 0:5.2-13.el7
完毕!
[root@li ~]# yum -y remove dhcp //卸载软件
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-58.el7.centos 将被 删除
--> 解决依赖关系完成
......
删除:
dhcp.x86_64 12:4.2.5-58.el7.centos
完毕!
[root@li ~]# yum -y update tftp //更新软件
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
No packages marked for update //已经是最新的,没有要更新的包
2. Servicio de almacenamiento compartido NFS
1. Escenarios de aplicación y uso de NFS
NFS es un protocolo de sistema de archivos de red basado en la transmisión TCP / IP. Al utilizar el protocolo NFS, un cliente NFS puede acceder a los recursos compartidos en un servidor NFS remoto al igual que un directorio local. Para la mayoría de los clústeres de equilibrio de carga, es una práctica común utilizar el protocolo NFS para compartir el almacenamiento de datos. NFS también es un protocolo que los dispositivos de almacenamiento NAS deben admitir. Sin embargo, NFS no tiene un mecanismo de autenticación de usuario y los datos se transmiten en texto sin formato en la red, por lo que la seguridad es muy deficiente y, por lo general, solo se puede utilizar en una red de área local.
En los escenarios de trabajo de la arquitectura de clúster empresarial, especialmente las empresas de sitios web pequeñas y medianas, el sistema de archivos de red NFS se utiliza generalmente para almacenar archivos de recursos estáticos, como videos e imágenes compartidos. Por ejemplo, coloque los archivos cargados por los usuarios en el sitio web en recursos compartidos de NFS. El directorio compartido de la red permite a otros servidores de la red montar y acceder a los datos en el directorio compartido.
La realización del servicio NFS se basa en el mecanismo RPC (Remote Process Call), que actúa como intermediario entre el cliente NFS y el servidor NFS, y ha completado el proceso de asignación de remoto a local. En el sistema Linux, los paquetes de software nfs-utils y rpcbing deben instalarse para proporcionar servicios de uso compartido de NFS. El primero se utiliza para la publicación y el acceso al uso compartido de NFS, y el segundo se utiliza para la compatibilidad con RPC.
2. Entorno del sistema antes de la implementación
Hay dos máquinas virtuales de la versión 7.4 de Linux, se han configurado direcciones IP, la red se ha conectado a Internet. La protección central del cortafuegos y el kernel están desactivadas (importante) . El CD del sistema se monta automáticamente en el directorio ** "/ mnt" ** después de la configuración. El nombre de host del servidor se establece en wu, IP: 20.0.0.15, y el
nombre de host del cliente se establece en li, IP: 20.0.0.16. Todos los usuarios de inicio de sesión son usuarios root.
3. Implementación de NFS en el lado del servidor
3.1. El paquete de software (nfs-utils, rocbind) necesario para el servicio de instalación
[root@li ~]# yum -y install nfs-utils rpcbind
已加载插件 :fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 nfs-utils.x86_64.1.1.3.0-0.48.el7 将被 安装
--> 正在处理依赖关系 libtirpc >= 0.2.4-0.7,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 gssproxy >= 0.7.0-3,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 quota,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libnfsidmap,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libevent,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 keyutils,它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libtirpc.so.1()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libnfsidmap.so.0()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
--> 正在处理依赖关系 libevent-2.0.so.5()(64bit),它被软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 需要
---> 软件包 rpcbind.x86_64.0.0.2.0-42.el7 将被 安装
...... //省略部分内容
已安装:
nfs-utils.x86_64 1:1.3.0-0.48.el7 rpcbind.x86_64 0:0.2.0-42.el7
作为依赖被安装:
gssproxy.x86_64 0:0.7.0-4.el7 keyutils.x86_64 0:1.5.8-3.el7
libbasicobjects.x86_64 0:0.1.1-27.el7 libcollection.x86_64 0:0.6.2-27.el7
libevent.x86_64 0:2.0.21-4.el7 libini_config.x86_64 0:1.3.0-27.el7
libnfsidmap.x86_64 0:0.25-17.el7 libpath_utils.x86_64 0:0.2.1-27.el7
libref_array.x86_64 0:0.1.5-27.el7 libtirpc.x86_64 0:0.2.4-0.10.el7
libverto-libevent.x86_64 0:0.2.5-4.el7 quota.x86_64 1:4.01-14.el7
quota-nls.noarch 1:4.01-14.el7 tcp_wrappers.x86_64 0:7.6-77.el7
完毕!
[root@li ~]# systemctl enable nfs //设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@li ~]# systemctl enable rpcbind //设置开机自启
3.2, configure el directorio compartido
[root@li ~]# mkdir -p /opt/wode //创建一个目录
[root@li ~]# vi /etc/exports //在exports文件中设置共享文件权限
/opt/weode 20.0.0.0/24(rw,sync,no_root_squash)
//格式为“目录位置 客户机地址 (选项权限)”权限选项中r表示可读,w表示可写,rw表示可读写,sync表示同步写入,no_root_squash表示客户机以root身份访问时赋予本地root权限。
3.3, inicie el servicio NFS
[root@li ~]# systemctl restart nfs //重启服务
[root@li ~]# systemctl restart rpcbind //重启服务
3.4. Ver el directorio compartido de NFS publicado por esta máquina
[root@li ~]# showmount -e
Export list for li:
/opt/weode 20.0.0.0/24 //查看到的共享目录
4. Implementación del acceso de clientes al servicio NFS
4.1. El paquete de software (nfs-utils, rocbind) necesario para el servicio de instalación
[root@wu ~]# yum -y install nfs-utils rpcbind //安装程序
[root@wu ~]# systemctl start nfs //启动程序
[root@wu ~]# systemctl enable nfs //设置开机自启
[root@wu ~]# systemctl start rpcbind
[root@wu ~]# systemctl enable rpcbind
4.2. Monte el directorio compartido de NFS (montaje manual y montaje automático)
[root@wu ~]# [root@wu opt]# mkdir /var/tade
[root@wu ~]# mount 20.0.0.15:/opt/wode /var/tade //手动挂载
[root@wu ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 17G 5.2G 12G 31% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
20.0.0.15:/opt/wode nfs4 17G 1006M 17G 6% /var/tade //挂载成功
[root@wu opt]# vi /etc/fstab
...... //省略部分信息
20.0.0.15:/opt/wode /var/tade nfs defaults,_netdev 0 0//自动挂载
4.3, prueba el servicio NFS
在客户端挂载的目录中测试
[root@wu opt]# vi /var/tade/ceshi //创建编辑文件li
测试成功 //编辑文件内容
~
服务器端查看是否共享成功
[root@li]# cd /opt/wode
[root@li wode]# ll
总用量 4
-rw-r--r-- 1 root root 13 8月 4 23:06 ceshi
[root@li wode]# vi ceshi
测试成功
~ //NFS共享成功
5. Soluciones a fallas comunes de NFS
- Cuando el recurso compartido NFS no se puede montar y usar, primero verifique que el archivo de configuración sea correcto para ver si se permite el acceso al segmento de red. Luego, active el servicio NFS y el servicio rpcbind en el lado del servidor, y también active el servicio rpbind en el lado del cliente. Este es un requisito previo importante para montar y utilizar correctamente el almacenamiento compartido NFS.
- En el caso de que ambos servicios estén habilitados, si el cliente monta el almacenamiento compartido y espera mucho tiempo, es necesario hacer ping a la dirección del servidor para verificar si la red del cliente al servidor es normal.
- Si no hay ningún problema con la red desde el cliente al servidor, pero el montaje aún no se puede usar, puede usar el comando telent para agregar la dirección del servidor y el número de puerto para conectarse al servidor de forma remota. Cuando aparece la palabra "conectado a ...", significa que se ha conectado. Esto significa que el cliente siempre está conectado con el cliente.
- El cliente no puede acceder al servidor normalmente. También puede ser causado por iptables. Al usar el comando telent para conectarse al servidor, se mostrará la palabra "no hay ruta al host", lo que significa que es un problema de firewall. Telnet usted mismo localmente en el lado del servidor. Si es normal, significa que no hay ningún problema en el lado del servidor.
- También puede usar el comando showmount -e para verificar, o montar su directorio compartido local en el lado del servidor para ver si el montaje es exitoso.