Samba和NFS的实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Samba和NFS的实现相关的知识,希望对你有一定的参考价值。
MariaDB项目实践
(1) 使用samba和NFS分别共享/data目录;
(2) 让samba客户端和NFS客户端分别挂载samba服务器上共享的/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata,要求服务能正常启动,且可正常存储数据;
samba共享/data目录 (本机ip172.16.0.149)
编辑/etc/samba/smb.conf,写入配置段
[global] workgroup = WORKGROUP security = user passdb backend = tdbsam:/etc/samba/tdsamba.db //定义安全账户管理,这次选的tdbsam,并且定义数据库绝对路径 printing = cups printcap name = cups load printers = yes cups options = raw
[data] comment = Mariadb shared directory // 注释信息 path = /data //共享目录的绝对路径 write list = root @wangfugui +mysql //定义合法用户,并指定是否有写权限 create mode = 0644 //创建文件的默认权限 directory mode = 0744 //创建目录的默认权限 public = no //不允许共享目录公开给所有用户访问 browseable = no //不允许共享目录在访问页面被看到
4.给数据库中,添加用户,密码可以自己设定
[[email protected] ~]# pdbedit -a mysql new password: retype new password: [[email protected] ~]# ls /etc/samba/ lmhosts smb.conf smb.conf.example tdsamba.db 使用pdbedit添加用户,会自动创建 tdsamba.db文件
5.在另一台主机上查看共享目录
[[email protected] samba]# smbclient -L 172.16.0.149 Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers myshare Disk CentOS 5 shared directory data Disk Mariadb shared directory apache Disk LAMP shared directory IPC$ IPC IPC Service (Samba 4.4.4) root Disk Home Directories
6.实现挂载
[[email protected] samba]# mount -t cifs -o username=mysql //172.16.0.149/data /mydata Password for [email protected]//172.16.0.149/data: ***
7.让客户机mysql数据库目录设为/mydata,并让数据库可以使用
a.修改客户机/etc/my.cnf
datadir = /mydata
b.在服务器端,给/data修改权限(为了保证,文件系统能让客户机的mysql用户有写权限)
[[email protected] ~]# chmod 777 /data
c.给/data复制数据库内容(需要保留权限)
[[email protected] ~]# cp -a /var/lib/mysql/* /data
d.使用客户机启动mysql服务
[[email protected] support-files]# ./mysql.server start Starting MySQL.180525 20:39:29 mysqld_safe Logging to '/mydata/bogon.err'. 180525 20:39:29 mysqld_safe Starting mysqld daemon with databases from /mydata ... SUCCESS!
因为我使用mysql挂载的,而且两台机子mysql 的UID相同,所以可以看到目录下文件,权限均为mysql
在mysql内创建一个数据库
MariaDB [(none)]> create database ceshi2; Query OK, 1 row affected (0.07 sec)
可以在服务器端/data/下。看到相应目录
二:NFS实践
在服务器端创建/data1目录
修改配置文件/etc/exports
/data1 172.16.0.147(rw)
3.启动nfs服务
[[email protected] ~]# systemctl start nfs
4.在客户机上查看服务器共享的目录
[[email protected] support-files]# showmount -e 172.16.0.149 Export list for 172.16.0.149: /data1 172.16.0.147
6.在客户机上挂载/data1目录
[[email protected] support-files]# mount -t nfs 172.16.0.149:/data1 /mydata1 [[email protected] support-files]#
7.同理,我们在文件系统中给/data1写权限,同时复制一份数据库文件给/data1
[[email protected] ~]# chmod 777 /data1 [[email protected] ~]# cp -a /data/* /data1/ [[email protected] ~]#
8.将客户机的mysql数据库目录切换至/mydata1,并启动服务
[[email protected] support-files]# vim /etc/my.cnf datadir=/mydata1 [[email protected] support-files]# ./mysql.server restart cat: /mydata1/bogon.pid: Permission denied ERROR! MySQL server process # is not running! Starting MySQL SUCCESS!
9.实践,创建一个数据库
MariaDB [(none)]> create database nfs1; Query OK, 1 row affected (0.04 sec) 查看服务器端/data1目录
LAMP项目实践+博客作业:
(1) 使用samba和NFS分别共享/data/application/web,部署LAMP,并在上述目录中提供wordpress应用;
(2) 使用samba客户端和NFS客户端分别挂载samba server和NFS server共享的目录至/var/www/html;
(3) 分别通过两台服务器验正wordpress是否可被访问、能否正常发文章和上传图片;
共享/data2/app/web,将wordpress解压到当前目录
[apache] comment = LAMP shared directory path = /data2/app/web write list = root @apache //apache 用户用于一会访问使用 create mode =0644 directory mode = 0744 public = no browseable = yes [[email protected] ~]# ls /data2/app/web/ index.html index.php word wordpress-4.2-zh_CN.tar.gz
2.在客户机上创建虚拟主机并配置,此次使用的php-fpm,做动态资源访问
<VirtualHost 172.16.0.147:80> ServerName www.wangchao.com DocumentRoot "/mnt/vhost1/" ProxyRequests OFF ProxyPassMatch ^(/.*\.php)$ fcgi://127.0.0.1:9000/mnt/php-fpm/$1 <Directory "/mnt/vhost1"> Options None AllowOverride None Require all granted </Directory> </VirtualHost>
3.从上可以看出,动态资源访问路径在客户机的 /mnt/php-fpm下所以,我们将服务器的共享目录,挂载到/mnt/php-fpm/下,
[[email protected] mysql]# mount -t cifs -o username=apache //172.16.0.149/apache /mnt/php-fpm/ Password for [email protected]//172.16.0.149/apache: ***
4.启动http和php-fpm服务
使用网页测试
可以看出wordpress是可以访问的,同理
我们设置nfs服务器
设置/etc/exports
/data2/app/web 172.16.0.147(rw)
在客户机上挂载
[[email protected] ~]# mount -t nfs 172.16.0.149:/data2/app/web /mnt/php-fpm/ [[email protected] ~]# ls /mnt/php-fpm/ admin index.html index.php phpMyAdmin-3.5.4-all-languages.tar.gz word wordpress-4.2-zh_CN.tar.gz [[email protected] ~]#
打开测试网页
以上是关于Samba和NFS的实现的主要内容,如果未能解决你的问题,请参考以下文章