《树莓派开发实战(第2版)》——2.12 将树莓派用作网络存储服务器

本文涉及的产品
文件存储 NAS,50GB 3个月
简介:

本节书摘来自异步社区《树莓派开发实战(第2版)》一书中的第2章,第2.12节,作者[英]Simon Monk(蒙克),韩波 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.12 将树莓派用作网络存储服务器

面临问题

你想要把树莓派用作网络存储服务器,即从网络中的电脑访问树莓派连接的大容量USB驱动器。

解决方案

这个问题的解决方案是安装配置Samba。为此,可以使用如下所示的命令。

$ sudo apt-get install samba
$ sudo apt-get install samba-common-bin

现在,请将USB硬盘驱动器接入树莓派。该驱动器将自动挂载到/media文件夹下面。为了检查是否挂载到位,可以使用下列命令进行检查。

$ cd /media
$ ls

这时,该驱动器应该被显示出来,其名称为格式化它时所取的那个。树莓派每次重启的时候,都会自动挂载这个驱动器。

现在,你需要配置Samba,以便该驱动器可以在网络上共享。为此,首先要添加一个Samba用户(pi)。请输入下列命令,并提供一个密码。

$ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.

接下来,需要修改/etc/samba/smb.conf文件,具体如下所示。

$ sudo nano /etc/samba/smb.conf

需要寻找的第一行位于文件顶部附近。

workgroup = WORKGROUP

如果你打算通过Windows机器连接时,只需要修改这里就行了。这里应该改成Windows工作组的名称。对于Windows XP系统来说,默认的工作组名称是MSHOME;对于后续的Windows版本来说,其名称为HOME。(但是,还是检查一下自己的Windows网络为好。)

下一个需要修改的地方位于该文件下方的Authentication部分。

请找到下面这行内容。

# security = user

删除前面的注释符号#,启用安全保护。

最后,向下滚动到文件尾部,并添加如下所示内容。

[USB]
path = /media/NAS
comment = NAS Drive
valid users = pi
writeable = yes
browseable = yes
create mask = 0777
public = yes

保存文件,并输入下列命令重启Samba。

$ sudo /etc/init.d/samba restart

如果一切正常的话,USB驱动器现在就能够实现网络共享了。

进一步探讨

如果要从Mac OS X连接驱动器的话,只需在Finder菜单中选择Go→connect to Server。然后,在Server Address字段中输入smb://raspberrypi/USB,这时就会出现一个登录对话框,在此,你需要将用户名改为pi(见图2-13)。


screenshot

如果你想从Windows机器上面连接NAS的话,见具体过程取决于Windows的版本情况。不过,基本过程是一致的,就是需要输入网络地址,该地址应该为raspberrypiUSB(见图2-14)。


screenshot

之后,输入正确的用户名和密码,就可以使用NAS磁盘了(见图2-15)。


screenshot

如果你是Linux用户,可以使用下列命令来挂载NAS驱动器。

$ sudo mkdir /pishare
$ sudo smbmount -o username=pi,password=raspberry //192.168.1.16/USB /pishare

参考资料

你也许想要修改树莓派的网络名称,例如piNAS,具体方法请参考2.4节。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
2月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
279 3
|
2天前
|
存储 机器学习/深度学习 弹性计算
阿里云ECS计算型c8i服务器测评_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c8i实例采用Intel Xeon Emerald Rapids或Sapphire Rapids CPU,主频2.7 GHz起,支持CIPU架构,提供强大计算、存储、网络和安全性能。适用于机器学习、数据分析等场景。实例规格从2核到192核,内存比例1:2,支持ESSD云盘,网络带宽高达100 Gbit/s,具备IPv4/IPv6,vTPM和内存加密功能。详细规格参数表包括不同实例的vCPU、内存、网络带宽、IOPS等信息,最高可达100万PPS和100万IOPS。
|
2天前
|
存储 弹性计算 网络协议
阿里云服务器ECS计算型c7实例详解_网络PPS_云盘IOPS性能参数
阿里云ECS计算型c7实例,基于三代神龙架构,采用Intel Ice Lake CPU,2.7 GHz基频,3.5 GHz全核睿频,提供高性能计算、存储和网络能力。支持vTPM和Enclave特性,适用于高网络负载、游戏、数据分析等场景。实例规格从2核4GB至128核256GB,最大网络收发包可达2400万PPS。详细规格及性能参数见官方页面。
|
4天前
|
存储 缓存 NoSQL
Redis为什么速度快:数据结构、存储及IO网络原理总结
Redis为什么速度快:数据结构、存储及IO网络原理总结
|
6天前
|
网络协议
逆向学习网络篇:心跳包与TCP服务器
逆向学习网络篇:心跳包与TCP服务器
9 0
|
2月前
|
负载均衡 搜索推荐 区块链
P2P网络中中央服务器的作用
P2P网络中中央服务器的作用
|
2月前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
23天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
40 1
|
8天前
|
安全 物联网 Linux
学习Linux对网络安全的重要性
**学习Linux对网络安全至关重要:** 1. 开源操作系统广泛应用于服务器、网络设备,掌握Linux是安全专家必备技能。 2. Linux内置安全特性,如最小权限和防火墙,加上丰富的安全工具,提供强大保障。 3. 可定制性允许灵活配置,满足安全需求,开源社区提供持续更新和教育资源。 4. 学习Linux能提升攻防能力,用于系统加固和渗透测试,适应跨平台安全场景。 5. 随着云计算和物联网发展,Linux在网络安全中的角色日益关键。
31 3
|
3天前
|
监控 安全 Linux
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
11 0