NAS
是Network Attached Storage
的缩写,也就是网络附属存储。可以使用自己已经不怎么使用的笔记本搭建一台NAS
服务器。
fdisk -l
可以看一下各个磁盘的状态。
可以看到有sda
、sdb
、sdc
和sdd
等四块硬盘。
lvs
、vgs
和pvs
结合起来看,sdb
和sdc
没有被使用。
sdb
和sdc
没有被使用,接下来就使用这个两块磁盘组成基本的NAS
存储。
重新分区
要是对于分区不清楚的话,可以参考《Linux学习之分区挂载》
fdisk /dev/sdb
,进行分区,然后按下d可以删除以前的分区,n可以建立新的分区,之后再依次按下p、Enter、Enter、Enter和w。
fdisk /dev/sdc
,进行分区,然后按下d可以删除以前的分区,n可以建立新的分区,之后再依次按下p、Enter、Enter、Enter和w。
建立RAID
mdadm
命令用于管理Linux系统中的软件RAID硬盘阵列,格式为mdadm [模式] <RAID设备名称> [选项] [成员设备名称]
。
mdadm -C -a yes /dev/md0 -n 2 -l 1 /dev/sdb1 /dev/sdc1
,-C
参数代表创建一个RAID阵列卡,同时在后面追加一个设备名称/dev/md0
,这样/dev/md0
就是创建后的RAID磁盘阵列的名称;-a yes
参数代表自动创建设备文件;-n 2
参数代表使用2块硬盘来部署这个RAID磁盘阵列;而-l 1
参数则代表RAID 1方案;最后再加上2块硬盘设备的名称/dev/sdb1 /dev/sdc1
就可以了。
之后再输入yes
表示确认。
mdadm --detail --scan --verbose > /etc/mdadm.conf
把相关配置信息写入到/etc/mdadm.conf
里边,这样的话下次开机的时候,也能直接启用RAID
。
创建逻辑卷
pvcreate /dev/md0
创建物理卷,输入y
是因为以前进行ext4格式化了。
vgcreate vg1 /dev/md0
把/dev/md0
创建成vg1
这个卷组。
lvcreate -L 200M -n lv1 vg1
从vg1
卷组中创建大小为200M
的lv1
逻辑卷。
格式化
mkfs.xfs /dev/vg1/lv1
把/dev/vg1/lv1
格式化成xfs
格式。
进行挂载
mkdir /share;mount /dev/vg1/lv1 /share
,先创建/share
这个目录,然后把/dev/vg1/lv1
挂载到/share
。
vim /etc/fstab
把下边的信息写入到最后一行:
/dev/vg1/lv1 /share xfs defaults 0 0
这样的话,开机重启之后就能自动挂载了。
mount -a
进行检查一下自动挂载,没有任何输入就是正确的。
ftp服务配置
useradd shareuser -d /share/shareuser
添加一个shareuser
本地用户,并指定家目录为/share/shareuser
。
vim /etc/vsftpd/vsftpd.conf
进行文件编辑,务必确保local_enable=YES
和write_enable=YES
。
echo Sea#123456 | passwd --stdin shareuser
为用户shareuser
设置Sea#123456
密码。
systemctl restart vsftpd
重新启动vsftpd
。
samba服务配置
pdbedit -L
可以看一下samba
中的用户信息。
vim smbpass.tmp
把下边的内容输入进去:
Sea#123456
Sea#123456
smbpasswd -s -a shareuser < smbpass.tmp
从smbpass.tmp
读取密码给shareuser
用户,并且添加shareuser
用户。
systemctl restart smb
重新启动服务。
NFS服务配置
vim /etc/exports
把下边的内容写进去:
/share/shareuser *(ro)
setfacl -m u:nfsnobody:rwx /share/shareuser/
给用户nfsnobody
附上/share/shareuser/
目录rwx
权限。
上边ftp服务配置、samba服务配置和NFS服务配置都可以使用底下的脚本实现。
#!/bin/bash
pass=Sea#123456
useradd $1 -d /share/$1
echo $pass | passwd --stdin $1
echo $pass > smbpass.tmp
echo $pass >> smbpass.tmp
smbpasswd -s -a $1 < smbpass.tmp
echo '/share/$1 *(ro)' >> /etc/exports
此文章为9月Day 3学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。