当然,您需要Raspberry Pi和一个或两个备用驱动器。较小的2.5英寸驱动器可以直接通过USB供电,但是我们将需要一个有源集线器,因为RPi的USB端口提供的电源对他们来说还不够。或者,您可以使用USB拇指驱动器,甚至可以使用SD卡。实际上,我今天混合使用了USB硬盘和拇指驱动器,但是过程是相同的。
仅使用一个驱动器,您仍然可以创建一个共享的网络存储区,但是如果有两个失败,您将能够设置数据冗余。
准备驱动器
首先从台式机将驱动器格式化为 NTFS 。这是为了方便起见,因此,如果出现任何问题,我们将能够将其与NAS断开连接,并仍然可以从任何PC读取数据。
我们可以将其格式化为Raspberry Pi,但将花费几个小时,并且在台式机上执行起来要快得多。立即执行此操作。并再次以root身份进入。从高级选项菜单,启用 SSH 。
重新启动后,您应该可以使用(如果需要,请使用Putty,在Windows上重新安装)
SSH root@[IP address]
Once logged in, figure out which devices are your additional drives. I’m assuming you’ll be using two for data redundancy. Type
fdisk -l
列出附加的存储设备。您应该会看到类似这样的东西。
/ dev / mmc 分区是您的Pi操作系统, mmc 是指 SD卡。令人困惑的是, / dev / sda1 和 / dev / sdb1 实际上与SD卡无关,它们实际上是您连接的USB驱动器。最初是“ SCSI设备",但现在是指任何连接的SATA或存储设备)
为Linux安装 ntfs-3g ,以便我们可以访问NTFS格式的Windows驱动器
apt-get install ntfs-3g
下一步,创建用作挂载点的目录,然后挂载驱动器。我在这里保持简单,将它们称为 1 和 2 。
mkdir /media/1mkdir /media/2mount -t auto /dev/sda1 /media/1mount -t auto /dev/sdb1 /media/2mkdir /media/1/sharesmkdir /media/2/shares
Samba
接下来,我们ll设置Samba。 Samba是Windows(实际上是最新的OSX Mavericks)使用的网络共享协议。
apt-get install sambaapt-get install samba-common-bincp /etc/samba/smb.conf /etc/samba/smb.conf.baknano /etc/samba/smb.conf
If you’re not familiar with these kind of config files, a # at the start of the line means it is commented out, and therefore not currently set or configured. To enable something, you can either add a new line, or un-comment an existing line to make it active.
我们首先要启用用户安全性;按 CTRL-W 并键入“ security"以找到相关部分。最后,从显示
security = user
的行中删除#符号,向下滚动到底部(或按住 CTRL V 直到到达那里)并添加任意数量的网络共享。使用以下格式:
[test]comment = Test sharepath = /media/1/sharesvalid users = @usersforce group = userscreate mask = 0660directory mask = 0771 read only = no
虽然仅引用第一个已安装的驱动器–我们稍后将与第二个共享驱动器进行同步以提供冗余。
完成后,依次按 CTRL X 和 y 保存。
然后使用以下命令重新启动Samba。
service samba restart
现在,添加Pi的新用户,假设您不想使用相同的登录名(用“ jamie"代替您自己的用户)
useradd jamie -m -G users
输入以下命令后,系统将提示您输入密码
passwd jamie
然后我们可以继续将此系统用户添加到Samba。您需要再次确认一次密码。
smbpasswd -a jamie
现在继续测试网络共享-在其他计算机(Windows或Mac)上应该可以看到该网络共享,并且应该能够进行写操作文件。
目前唯一的问题是,重新启动Pi时将卸载驱动器。要解决此问题,请安装autofs。
apt-get install autofsnano /etc/auto.master
在+ auto.master
/media/ /etc/auto.ext-usb --timeout=10,defaults,user,exec,uid=1000
下面添加以下行,现在您应该可以安全地重新启动而不会破坏所有内容
数据冗余
假设您安装了两个驱动器,我们现在可以设置一个自动脚本,以将数据从第一个驱动器同步到第二个,从而在一个驱动器出现故障时为我们提供备份。我们将使用rsync实用程序。
apt-get install rsynccrontab -e
Linux中的crontab是一种自动执行任务的方法。在向您展示如何自动执行站点备份时,我曾简短地谈论过。添加以下行:
30 5 * * * rsync -av --delete /media/1/shares /media/2/shares/
使用的编号方案如下:
minute | hour | day-of-the-month | month | day-of-the-week
因此,在我们新添加的行中,rsync命令将在 5:30 am ,每天( * 通配符的意思是“每天",因此“每月的每一天")
如果要继续运行并立即运行备份,只需粘贴rsync命令,如下所示:
rsync -av --delete /media/1/shares /media/2/shares/
根据您在共享文件夹中放置的内容,可能要花几秒钟或更长时间您一份报告。 rsync的优点在于它知道哪些文件已更新,添加或应删除。继续并再次尝试相同的命令。它应该立即完成,因为它不知道任何更改。
就这样了,完成了–您现在拥有了自己又快又脏的NAS。是的,它可能不具备适当NAS的所有闪闪发光的功能,但是可以很好地完成工作,并且功耗要低得多。
标签: