码迷,mamicode.com
首页 > 其他好文 > 详细

Samba和NFS的实现

时间:2018-05-25 22:53:59      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:samba   nfs   

MariaDB项目实践
            (1) 使用samba和NFS分别共享/data目录;
            (2) 让samba客户端和NFS客户端分别挂载samba服务器上共享的/data/至本地的/mydata目录;本地的mysqld或mariadb服务的数据目录设置为/mydata,要求服务能正常启动,且可正常存储数据;

  1. samba共享/data目录 (本机ip172.16.0.149)

    编辑/etc/samba/smb.conf,写入配置段


  2. [global]
            workgroup = WORKGROUP
            security = user
    
            passdb backend = tdbsam:/etc/samba/tdsamba.db  //定义安全账户管理,这次选的tdbsam,并且定义数据库绝对路径
    
            printing = cups
            printcap name = cups
            load printers = yes
            cups options = raw
  3. [data]
            comment = Mariadb shared directory  // 注释信息
            path = /data  //共享目录的绝对路径
            write list = root @wangfugui +mysql  //定义合法用户,并指定是否有写权限
            create mode = 0644 //创建文件的默认权限
            directory mode = 0744 //创建目录的默认权限
            public = no //不允许共享目录公开给所有用户访问
            browseable = no //不允许共享目录在访问页面被看到

4.给数据库中,添加用户,密码可以自己设定

[root@localhost ~]# pdbedit -a mysql
new password:
retype new password:
[root@localhost ~]# ls /etc/samba/
lmhosts  smb.conf  smb.conf.example  tdsamba.db
使用pdbedit添加用户,会自动创建 tdsamba.db文件

5.在另一台主机上查看共享目录

[root@bogon 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.实现挂载

[root@bogon samba]# mount -t cifs -o username=mysql //172.16.0.149/data /mydata
Password for mysql@//172.16.0.149/data:  ***

7.让客户机mysql数据库目录设为/mydata,并让数据库可以使用

    a.修改客户机/etc/my.cnf

datadir = /mydata

    b.在服务器端,给/data修改权限(为了保证,文件系统能让客户机的mysql用户有写权限)

[root@localhost ~]# chmod 777 /data

    c.给/data复制数据库内容(需要保留权限)

[root@localhost ~]# cp -a /var/lib/mysql/* /data

    d.使用客户机启动mysql服务

[root@bogon 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实践

  1. 在服务器端创建/data1目录

    修改配置文件/etc/exports


  2. /data1 172.16.0.147(rw)

3.启动nfs服务

[root@localhost ~]# systemctl start nfs

4.在客户机上查看服务器共享的目录

[root@bogon support-files]# showmount -e 172.16.0.149
Export list for 172.16.0.149:
/data1 172.16.0.147

6.在客户机上挂载/data1目录

[root@bogon support-files]#  mount -t nfs 172.16.0.149:/data1 /mydata1
[root@bogon support-files]#

7.同理,我们在文件系统中给/data1写权限,同时复制一份数据库文件给/data1

[root@localhost ~]# chmod 777 /data1
[root@localhost ~]# cp -a /data/* /data1/
[root@localhost ~]#

8.将客户机的mysql数据库目录切换至/mydata1,并启动服务

[root@bogon support-files]# vim /etc/my.cnf
datadir=/mydata1
[root@bogon 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是否可被访问、能否正常发文章和上传图片;

  1. 共享/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
[root@localhost ~]# 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/下,

[root@bogon mysql]# mount -t cifs -o username=apache //172.16.0.149/apache /mnt/php-fpm/
Password for apache@//172.16.0.149/apache:  ***

4.启动http和php-fpm服务

使用网页测试

技术分享图片

可以看出wordpress是可以访问的,同理


我们设置nfs服务器

设置/etc/exports

/data2/app/web 172.16.0.147(rw)

在客户机上挂载

[root@bogon ~]# mount -t nfs 172.16.0.149:/data2/app/web /mnt/php-fpm/
[root@bogon ~]# 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
[root@bogon ~]#

打开测试网页

技术分享图片

Samba和NFS的实现

标签:samba   nfs   

原文地址:http://blog.51cto.com/wangchaode/2120433

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!