目录
(一)基础配置
1.NFS服务安装
2.修改配置文件
3.重载配置文件
4.查看共享目录
5.客户端挂载
6.更换共享目录
7.基础实验
(二)布置lnmp平台
1.php
安装软件
检测
2.连接MySQL
测试
3.软件实施
软件安装配置
(三)iSCSI布置
1.识别磁盘
2.配置另一台
3.Windows连接
4.linux客户端连接
5.服务端测试
# NFS文件存储
关闭防火墙 上下文
(一)基础配置
1.NFS服务安装
[root@localhost ~]# yum install -y nfs-utils#服务端客户端都要装
#查看是否启动[root@nfs-server ~]# netstat -anptul | grep 2049tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - tcp6 0 0 :::2049 :::* LISTEN - [root@nfs-server ~]# netstat -anptul | grep 111tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 17838/rpcbind tcp 0 0 192.168.157.168:39998 111.13.18.31:443 TIME_WAIT - tcp6 0 0 :::111 :::* LISTEN 17838/rpcbind udp 0 0 0.0.0.0:111 0.0.0.0:* 17838/rpcbind udp6 0 0 :::111 :::* 17838/rpcbind
2.修改配置文件
[root@nfs-server ~]# vim /etc/exports###默认是空的/data 192.168.157.0/24(rw,sync,no_root_squash)共享的目录 ip 权限,写入方式,降级重载配置文件 重启 或 exportfs -arv
3.重载配置文件
#重启 或 exportfs -arv[root@nfs-server ~]# mkdir /data[root@nfs-server ~]# exportfs -arvexportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.157.0/24:/data".Assuming default behaviour ('no_subtree_check').NOTE: this default has changed since nfs-utils version 1.0.xexporting 192.168.157.0/24:/data
4.查看共享目录
#在本地[root@nfs-server ~]# showmount -eExport list for nfs-server:/data 192.168.157.0/24#不在本地 需要指向服务器ip[root@web1 ~]# showmount -e 192.168.157.168Export list for 192.168.157.168:/data 192.168.157.0/24
5.客户端挂载
#客户端挂载[root@web1 ~]# mount 192.168.157.168:/data /mnt/[root@web1 ~]# df -Th文件系统 类型 大小 已用 可用 已用% 挂载点/dev/mapper/openeuler-root ext4 69G 2.1G 63G 4% /devtmpfs devtmpfs 4.0M 0 4.0M 0% /devtmpfs tmpfs 713M 0 713M 0% /dev/shmtmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgrouptmpfs tmpfs 285M 5.5M 280M 2% /runtmpfs tmpfs 713M 0 713M 0% /tmp/dev/sda2 ext4 974M 174M 733M 20% /boot/dev/mapper/openeuler-home ext4 125G 24K 119G 1% /home192.168.157.168:/data nfs4 69G 2.1G 63G 4% /mnt
6.更换共享目录
#需要先将服务端 挂载卸掉
[root@web1 ~]# umount /mnt
[root@web1 ~]# df -Th
文件系统 类型 大小 已用 可用 已用% 挂载点
/dev/mapper/openeuler-root ext4 69G 2.1G 63G 4% /
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 713M 0 713M 0% /dev/shm
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs tmpfs 285M 5.5M 280M 2% /run
tmpfs tmpfs 713M 0 713M 0% /tmp
/dev/sda2 ext4 974M 174M 733M 20% /boot
/dev/mapper/openeuler-home ext4 125G 24K 119G 1% /home
#在/home 下新建共享目录
[root@nfs-server ~]# cd /home
[root@nfs-server home]# mkdir data
[root@nfs-server home]# ls
data lost+found
#修改配置文件
[root@nfs-server home]# vim /etc/exports
/home/data 192.168.157.0/24(rw,sync,no_root_squash)
#重载配置文件
[root@nfs-server home]# exportfs -arv
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.157.0/24:/home/data".Assuming default behaviour ('no_subtree_check').NOTE: this default has changed since nfs-utils version 1.0.xexporting 192.168.157.0/24:/home/data
#客户端重新挂载
[root@web1 home]# mount 192.168.157.168:/home/data /mnt/
[root@web1 home]# df -Th
文件系统 类型 大小 已用 可用 已用% 挂载点
/dev/mapper/openeuler-root ext4 69G 2.1G 63G 4% /
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 713M 0 713M 0% /dev/shm
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs tmpfs 285M 5.5M 280M 2% /run
tmpfs tmpfs 713M 0 713M 0% /tmp
/dev/sda2 ext4 974M 174M 733M 20% /boot
/dev/mapper/openeuler-home ext4 125G 24K 119G 1% /home
192.168.157.168:/home/data nfs4 125G 0 119G 0% /mnt
7.基础实验
让两台web服务器访问相同内容
#安装nginx
[root@web1 home]# yum install -y nginx
#把共享目录 挂载到/usr/share/nginx/html/
[root@web1 html]# mount 192.168.157.168:/home/data /usr/share/nginx/html/
[root@web1 html]# !d
df -Th
文件系统 类型 大小 已用 可用 已用% 挂载点
/dev/mapper/openeuler-root ext4 69G 2.1G 63G 4% /
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 713M 0 713M 0% /dev/shm
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs tmpfs 285M 5.5M 280M 2% /run
tmpfs tmpfs 713M 0 713M 0% /tmp
/dev/sda2 ext4 974M 174M 733M 20% /boot
/dev/mapper/openeuler-home ext4 125G 24K 119G 1% /home
192.168.157.168:/home/data nfs4 125G 0 119G 0% /usr/share/nginx/html
#启动nginx
[root@web1 html]# systemctl start nginx
#nfs服务端
[root@nfs-server home]# ls
data lost+found
[root@nfs-server home]# cd data
[root@nfs-server data]# vim index.html
cc2505
#web2配置
[root@web2 ~]# showmount -e 192.168.157.168
Export list for 192.168.157.168:
/home/data 192.168.157.0/24
[root@web2 ~]# mount 192.168.157.168:/home/data /usr/share/nginx/html/
[root@web2 ~]# systemctl start nginx
测试
web1
web2
(二)布置lnmp平台
1.php
安装软件
#正常情况应安装以下软件 在上述操作已安装nginx mysql-server[root@web1 html]# yum install -y nginx mysql-server php php-mysqlnd php-fpm###[root@web1 html]# yum install -y php php-mysqlnd php-fpmphp语言 php-mysqlnd连接数据库驱动,php对数据库进行操作 php-fpm 让nginx识别php[root@web1 html]# rpm -ql php-fpm#/etc/php-fpm.d#/etc/php-fpm.d/www.conf#由于openEuler关于php的配置已经配置好 所有不用改配置文件#php-fpm 和 nginx 在同一主机
[root@web1 conf.d]# systemctl start php-fpm[root@web1 conf.d]# systemctl restart nginx[root@nfs-server data]# vim index.html<?phpphpinfo();?>root@nfs-server data]# mv index.html index.php[root@nfs-server data]# lsindex.php[root@web2 ~]# yum install -y php php-mysqlnd php-fpm[root@web2 ~]# systemctl start php-fpm[root@web2 ~]# systemctl restart nginx
检测
**php-fpm 和 nginx 不在同一主机** 拓展[root@web1 php-fpm.d]# vim www.conf listen = /run/php-fpm/www.sock#改为listen = 192.168.157.169:9000修改listen.allowed_clients = 127.0.0.1
2.连接MySQL
#nfs 添加#nfs web1 web2 都 启动mysqlroot@nfs-server data]# lsindex.php mysql_conn.php[root@nfs-server data]# vim mysql_conn.php <?php$link = mysqli_connect('localhost', 'root', '');if ($link) {echo "connect successful";} else {echo "connect fail ";}mysqli_close($link);?>
测试
3.软件实施
Discuz! 安装向导
#访问http://192.168.157.169/upload
#进入安装界面
#发现权限不够 缺少依赖
#查看php-fpm
[root@web1 php-fpm.d]# ps aux | grep php-fpm
root 45460 0.0 1.9 195744 28644 ? Ss 20:42 0:00 php-fpm: master process (/etc/php-fpm.conf)
apache 45461 0.0 1.3 196296 19612 ? S 20:42 0:00 php-fpm: pool www
apache 45462 0.0 1.3 196296 20300 ? S 20:42 0:00 php-fpm: pool www
apache 45463 0.0 1.6 270292 24568 ? S 20:42 0:00 php-fpm: pool www
apache 45464 0.0 1.2 196296 18816 ? S 20:42 0:00 php-fpm: pool www
apache 45465 0.0 1.6 270292 23604 ? S 20:42 0:00 php-fpm: pool www
apache 68624 0.0 0.9 196296 14472 ? S 21:52 0:00 php-fpm: pool www
root 69603 0.0 0.5 21988 8104 pts/0 S+ 21:55 0:00 grep --color=auto php-fpm
#查看nginx
[root@web1 php-fpm.d]# ps aux | grep nginx
root 62712 0.0 0.2 30404 3256 ? Ss 21:34 0:00 nginx: master process /usr/sbin/nginx
nginx 62713 0.0 0.4 31416 7228 ? S 21:34 0:00 nginx: worker process
nginx 62714 0.0 0.4 31416 7152 ? S 21:34 0:00 nginx: worker process
root 70146 0.0 0.5 21988 7920 pts/0 S+ 21:57 0:00 grep --color=auto nginx
#选择用哪个账户
#测试之后发现用apache账户
#在nfs上安装 php-fpm 但是不用启动
[root@nfs-server data]# yum install -y php-fpm
[root@nfs-server data]# cd upload/
#更改属主
[root@nfs-server upload]# chown apache ./ -R
[root@nfs-server upload]# ls -l
总计 108
-rw-r--r--. 1 apache root 2869 2024年 5月20日 admin.php
drwxr-xr-x. 10 apache root 4096 2024年 5月20日 api
-rw-r--r--. 1 apache root 727 2024年 5月20日 api.php
drwxr-xr-x. 2 apache root 4096 2024年 5月20日 archiver
drwxr-xr-x. 2 apache root 4096 2024年 5月20日 config
-rw-r--r--. 1 apache root 1040 2024年 5月20日 connect.php
-rw-r--r--. 1 apache root 106 2024年 5月20日 crossdomain.xml
drwxr-xr-x. 12 apache root 4096 2024年 5月20日 data
-rw-r--r--. 1 apache root 5558 2024年 5月20日 favicon.ico
-rw-r--r--. 1 apache root 2357 2024年 5月20日 forum.php
-rw-r--r--. 1 apache root 906 2024年 5月20日 group.php
-rw-r--r--. 1 apache root 1325 2024年 5月20日 home.php
-rw-r--r--. 1 apache root 6920 2024年 5月20日 index.php
drwxr-xr-x. 5 apache root 4096 2024年 5月20日 install
-rw-r--r--. 1 apache root 998 2024年 5月20日 member.php
-rw-r--r--. 1 apache root 2410 2024年 5月20日 misc.php
-rw-r--r--. 1 apache root 1790 2024年 5月20日 plugin.php
-rw-r--r--. 1 apache root 1086 2024年 5月20日 portal.php
-rw-r--r--. 1 apache root 639 2024年 5月20日 robots.txt
-rw-r--r--. 1 apache root 1755 2024年 5月20日 search.php
drwxr-xr-x. 10 apache root 4096 2024年 5月20日 source
drwxr-xr-x. 7 apache root 4096 2024年 5月20日 static
drwxr-xr-x. 3 apache root 4096 2024年 5月20日 template
drwxr-xr-x. 8 apache root 4096 2024年 5月20日 uc_client
drwxr-xr-x. 13 apache root 4096 2024年 5月20日 uc_server
#然后就可以安装了
软件安装配置
#web1上 新建 给软件连接用的账户[root@web1 php-fpm.d]# mysqlmysql> create user ultrax@127.0.0.1 identified by '123.com';Query OK, 0 rows affected (0.01 sec)mysql> grant all on ultrax.* to ultrax@127.0.0.1;Query OK, 0 rows affected (0.01 sec)#web2上 新建 给软件连接用的账户[root@web2 php-fpm.d]# mysqlmysql> create user ultrax@127.0.0.1 identified by '123.com';Query OK, 0 rows affected (0.01 sec)mysql> grant all on ultrax.* to ultrax@127.0.0.1;Query OK, 0 rows affected (0.01 sec)#安装软件
#WEB2[root@web1 ~]# mysqldump --databases ultrax > ultrax.sql[root@web1 ~]# scp ultrax.sql 192.168.157.170:/rootThe authenticity of host '192.168.157.170 (192.168.157.170)' can't be established.ED25519 key fingerprint is SHA256:1+6pwJp4PGRy3pTuY4/lM2+SKaA3eNsCqwvp/0Dd9BQ.This key is not known by any other names.Are you sure you want to continue connecting (yes/no/[fingerprint])? yesWarning: Permanently added '192.168.157.170' (ED25519) to the list of known hosts.Authorized users only. All activities may be monitored and reported.root@192.168.157.170's password: Permission denied, please try again.root@192.168.157.170's password: ultrax.sql #[root@web2 ~]# mysql < ultrax.sql
(三)iSCSI布置
1.识别磁盘
#添加两块磁盘
#热识别
[root@target ~]# for i in `ls /sys/class/scsi_host`;do echo "- - -" >/sys/class/scsi_host/$i/scan;done
[root@target ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 199G 0 part ├─openeuler-root 253:0 0 70G 0 lvm /├─openeuler-swap 253:1 0 2G 0 lvm [SWAP]└─openeuler-home 253:2 0 127G 0 lvm /home
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
#安装
[root@target ~]# yum install -y scsi-target-utils
#新建target
[root@target ~]# tgtadm -L iscsi -o new -m target -t 1 -T iqn.20250710.com.jx.www:sda
#查看
[root@target ~]# tgtadm -o show -m target
Target 1: iqn.20250710.com.jx.www:sdaSystem information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET 00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoSWP: NoThin-provisioning: NoBacking store type: nullBacking store path: NoneBacking store flags: Account information:
ACL information:
#查看
[root@target ~]# tgt-admin -s
Target 1: iqn.20250710.com.jx.www:sdaSystem information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET 00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoSWP: NoThin-provisioning: NoBacking store type: nullBacking store path: NoneBacking store flags: Account information:ACL information:
#生成lun
[root@target ~]# tgtadm -o new -m logicalunit -t 1 -l 1 -b /dev/sda
#删除lun
[root@target ~]# tgtadm -o delete -m logicalunit -t 1 -l 1
#新建
#先建target 在建lun
[root@target ~]#tgtadm -L iscsi -o new -m target -t 1 -T iqn.20250710.com.jx.www:sda
[root@target ~]# tgtadm -o new -m logicalunit -t 1 -l 1 -b /dev/sda
#查看
[root@target ~]# tgt-admin -s
Target 1: iqn.20250710.com.jx.www:sdaSystem information:Driver: iscsiState: readyI_T nexus information:LUN information:LUN: 0Type: controllerSCSI ID: IET 00010000SCSI SN: beaf10Size: 0 MB, Block size: 1Online: YesRemovable media: NoPrevent removal: NoReadonly: NoSWP: NoThin-provisioning: NoBacking store type: nullBacking store path: NoneBacking store flags: LUN: 1Type: diskSCSI ID: IET 00010001SCSI SN: beaf11Size: 214748 MB, Block size: 512Online: YesRemovable media: NoPrevent removal: NoReadonly: NoSWP: NoThin-provisioning: NoBacking store type: rdwrBacking store path: /dev/sdaBacking store flags: Account information:ACL information:
##配置访问ACL
[root@target ~]# tgtadm -L iscsi -m target -o bind -t 1 -I ALL
##保存配置
[root@target ~]# tgt-admin --dump >> /etc/tgt/targets.conf
2.配置另一台
#新建target
[root@target ~]# tgtadm -L iscsi -o new -m target -t 2 -T iqn.20250710.com.jx.www:sdb
#新建lun
[root@target ~]# tgtadm -o new -m logicalunit -t 2 -l 1 -b /dev/sdb
##配置访问ACL
[root@target ~]# tgtadm -L iscsi -m target -o bind -t 2 -I ALL
##保存配置
[root@target ~]# tgt-admin --dump > /etc/tgt/targets.conf
3.Windows连接
打开iSCSI程序
计算机 右键管理 磁盘管理 重新格式化
4.linux客户端连接
#先安装
[root@web1 ~]# yum install -y scsi-initiator-utils
[root@web1 ~]# systemctl start iscsid
#识别
[root@web1 ~]# iscsiadm -m discoverydb -t sendtargets -p 192.168.157.168:3260 -D
192.168.157.168:3260,1 iqn.20250710.com.jx.www:sda
192.168.157.168:3260,1 iqn.20250710.com.jx.www:sdb
[root@web1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 199G 0 part ├─openeuler-root 253:0 0 70G 0 lvm /├─openeuler-swap 253:1 0 2G 0 lvm [SWAP]└─openeuler-home 253:2 0 127G 0 lvm /home
sdb 8:16 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
#分区
[root@web1 ~]# fdisk /dev/sdb欢迎使用 fdisk (util-linux 2.39.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。设备不包含可识别的分区表。
Created a new DOS (MBR) disklabel with disk identifier 0x224616b8.命令(输入 m 获取帮助):n
分区类型p 主分区 (0个主分区,0个扩展分区,4空闲)e 扩展分区 (逻辑分区容器)
选择 (默认 p):将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-41943039, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): 创建了一个新分区 1,类型为“Linux”,大小为 20 GiB。命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
#格式化
[root@web1 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.47.0 (5-Feb-2023)
创建含有 5242624 个块(每块 4k)和 1310720 个 inode 的文件系统
文件系统 UUID:cd9b36d3-1849-4e5f-b754-9df79dc68d71
超级块的备份存储于下列块:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000正在分配组表:完成
正在写入 inode表:完成
创建日志(32768 个块):完成
写入超级块和文件系统账户统计信息:已完成
#挂载
[root@web1 ~]# mount /dev/sddb1 /mnt/
mount: /mnt: 特殊设备 /dev/sddb1 不存在.dmesg(1) may have more information after failed mount system call.
[root@web1 ~]# mount /dev/sdb1 /mnt/
[root@web1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 199G 0 part ├─openeuler-root 253:0 0 70G 0 lvm /├─openeuler-swap 253:1 0 2G 0 lvm [SWAP]└─openeuler-home 253:2 0 127G 0 lvm /home
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /mnt
sr0 11:0 1 1024M 0 rom
5.服务端测试
分区
[root@target ~]# fdisk /dev/sda欢迎使用 fdisk (util-linux 2.39.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。该磁盘目前正在使用 - 不建议您重新分区。
推荐您卸载此磁盘上所有的文件系统,并关闭(swapoff)上面的交换分区。命令(输入 m 获取帮助):q
#这个被Windows挂载 不能再用了
#查看另一块 挂载在Linux上的 发现已经分区
[root@target ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.39.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):p
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x224616b8设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 41943039 41940992 20G 83 Linux命令(输入 m 获取帮助):
#直接挂载
root@target ~]# mount /dev/sdb1 /mnt/
[root@target ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 199G 0 part ├─openeuler-root 253:0 0 70G 0 lvm /├─openeuler-swap 253:1 0 2G 0 lvm [SWAP]└─openeuler-home 253:2 0 127G 0 lvm /home
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /mnt
sdc 8:32 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
#linux 不能与Windows 共用一块
#两个linux可以同时挂载一个,但是不能实时同步 需卸载重挂