Добавить README.md
This commit is contained in:
263
README.md
Normal file
263
README.md
Normal file
@@ -0,0 +1,263 @@
|
||||
# Домашнее задание 6
|
||||
|
||||
## Работа с NFS
|
||||
|
||||
Для выполнение задания используется 2 vm Ubuntu Server 24.04
|
||||
|
||||
|
||||
Для дальнейших действий перейдем сразу в суперпользователя
|
||||
|
||||
|
||||
```bash
|
||||
nimda@ubuntu-nfs-server:~$ sudo su
|
||||
[sudo] password for nimda:
|
||||
root@ubuntu-nfs-server:/home/nimda#
|
||||
```
|
||||
|
||||
```bash
|
||||
nimda@ubuntu-nfs-client:~$ sudo su
|
||||
[sudo] password for nimda:
|
||||
root@ubuntu-nfs-server:/home/nimda#
|
||||
```
|
||||
|
||||
|
||||
### Устанавливаем NFS сервер
|
||||
|
||||
|
||||
|
||||
С помощью apt устанавливаем сервер nfs
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# apt install nfs-kernel-server -y
|
||||
Reading package lists... Done
|
||||
Building dependency tree... Done
|
||||
Reading state information... Done
|
||||
The following additional packages will be installed:
|
||||
keyutils libnfsidmap1 nfs-common rpcbind
|
||||
Suggested packages:
|
||||
watchdog
|
||||
The following NEW packages will be installed:
|
||||
keyutils libnfsidmap1 nfs-common nfs-kernel-server rpcbind
|
||||
0 upgraded, 5 newly installed, 0 to remove and 25 not upgraded.
|
||||
....
|
||||
|
||||
....
|
||||
No user sessions are running outdated binaries.
|
||||
|
||||
No VM guests are running outdated hypervisor (qemu) binaries on this host.
|
||||
root@ubuntu-nfs-server:/home/nimda#
|
||||
```
|
||||
|
||||
|
||||
Проверяем, слушаются ли порты 2049 и 111
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# ss -tnplu | grep -E '0:2049|0:111'
|
||||
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=1510,fd=5),("systemd",pid=1,fd=100))
|
||||
tcp LISTEN 0 64 0.0.0.0:2049 0.0.0.0:*
|
||||
tcp LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=1510,fd=4),("systemd",pid=1,fd=96))
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Создаем и опубликовываем каталог
|
||||
|
||||
|
||||
Создаем каталог
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# mkdir -p /srv/nfs_share/upload
|
||||
```
|
||||
|
||||
Меняем владельца
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# chown -R nobody:nogroup /srv/nfs_share/
|
||||
```
|
||||
|
||||
Меняем разрешение на папку upload. Разрешаем чтение и запись для всех
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# chmod 0777 /srv/nfs_share/upload/
|
||||
```
|
||||
|
||||
|
||||
С помощью vi редактируем файл /etc/exports, и добавляем следующую строку
|
||||
|
||||
|
||||
```bash
|
||||
/srv/nfs_share 192.168.50.41(rw,sync)
|
||||
```
|
||||
|
||||
|
||||
Перечитываем файл конфигурации NFS
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# exportfs -r
|
||||
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.50.41:/srv/nfs_share".
|
||||
Assuming default behaviour ('no_subtree_check').
|
||||
NOTE: this default has changed since nfs-utils version 1.0.x
|
||||
|
||||
```
|
||||
|
||||
|
||||
Проверим, что каталог опубликован
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# exportfs -s
|
||||
/srv/nfs_share 192.168.50.41(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
|
||||
```
|
||||
|
||||
|
||||
### Устанавливаем NFS клиент
|
||||
|
||||
Устанавливаем nfs клиент
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-client:/home/nimda# apt install nfs-common -y
|
||||
Reading package lists... Done
|
||||
Building dependency tree... Done
|
||||
Reading state information... Done
|
||||
The following additional packages will be installed:
|
||||
keyutils libnfsidmap1 rpcbind
|
||||
Suggested packages:
|
||||
watchdog
|
||||
The following NEW packages will be installed:
|
||||
keyutils libnfsidmap1 nfs-common rpcbind
|
||||
0 upgraded, 4 newly installed, 0 to remove and 34 not upgraded.
|
||||
Need to get 400 kB of archives.
|
||||
....
|
||||
|
||||
....
|
||||
No user sessions are running outdated binaries.
|
||||
|
||||
No VM guests are running outdated hypervisor (qemu) binaries on this host.
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Создаем каталог, куда будем монтировать из nfs сервера
|
||||
```bash
|
||||
root@ubuntu-nfs-client:/home/nimda# mkdir /mnt/nfs
|
||||
```
|
||||
|
||||
Редактируем /etc/fstab и добавляем туда автомонтирование калога по nfs для версии 3
|
||||
```bash
|
||||
192.168.50.28:/srv/nfs_share/ /mnt/nfs nfs vers=3,noauto,x-systemd.automount 0 0
|
||||
```
|
||||
|
||||
Перечитываем конфигурацию служб, и перезапускаем службы монтирования по сети
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-client:/home/nimda# systemctl daemon-reload
|
||||
root@ubuntu-nfs-client:/home/nimda# systemctl restart remote-fs.target
|
||||
|
||||
```
|
||||
|
||||
### Проверка
|
||||
|
||||
Проверяем на клиенте, что nsf каталог примонтировался
|
||||
```bash
|
||||
root@ubuntu-nfs-client:/home/nimda# ls -l /mnt/nfs/
|
||||
total 4
|
||||
drwxrwxrwx 2 nobody nogroup 4096 Nov 26 19:57 upload
|
||||
```
|
||||
|
||||
Видим там папку upload
|
||||
|
||||
Создадим в ней файл
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-client:/home/nimda# touch /mnt/nfs/upload/clietn_file
|
||||
```
|
||||
|
||||
|
||||
проверим наличие файлы на сервере
|
||||
|
||||
```bash
|
||||
root@ubuntu-nfs-server:/home/nimda# ls -l /srv/nfs_share/upload/
|
||||
total 0
|
||||
-rw-r--r-- 1 nobody nogroup 0 Nov 26 20:36 clietn_file
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Скрипты автоматической настройки
|
||||
|
||||
|
||||
Скрипт nfss_script.sh для автонастройки сервера
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Установка NFS сервера"
|
||||
echo ""
|
||||
echo "========================"
|
||||
apt install -y nfs-kernel-server
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Подготовка каталога Upload"
|
||||
echo ""
|
||||
echo "========================"
|
||||
mkdir -p /srv/nfs_share/upload
|
||||
chown nobody:nogroup /srv/nfs_share/upload
|
||||
chmod 0777 /srv/nfs_share/upload
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Публикация каталога"
|
||||
echo ""
|
||||
echo "========================"
|
||||
echo "/srv/nfs_share 192.168.50.41(rw,sync)" >> /etc/exports
|
||||
exportfs -r
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Установка и настройка завершена"
|
||||
echo ""
|
||||
echo "========================"
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Скрипт nfsc_script.sh для автонастройки клиента
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Установка NFS клиента"
|
||||
echo ""
|
||||
echo "========================"
|
||||
apt install nfs-common -y
|
||||
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Подготовка каталога, куда будем монтировать"
|
||||
echo ""
|
||||
echo "========================"
|
||||
mkdir /mnt/nfs
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Автомонтирование каталога"
|
||||
echo ""
|
||||
echo "========================"
|
||||
echo "192.168.50.28:/srv/nfs_share/ /mnt/nfs nfs vers=3,noauto,x-systemd.automount 0 0" >> /etc/fstab
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Перезапуск служб"
|
||||
echo ""
|
||||
echo "========================"
|
||||
systemctl daemon-reload
|
||||
systemctl restart remote-fs.target
|
||||
|
||||
echo "========================"
|
||||
echo ""
|
||||
echo "Установка и настройка завершена"
|
||||
echo ""
|
||||
echo "========================"
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user