首先要有一个树莓派、一个3.5寸硬盘、一个硬盘转接口。

然后上电开机

因为之前的树莓派已经配置了wifi,因此它开机就连在局域网里了。现在要扫描网段,找到树莓派。

sudo fdisk -l


sudo cfdisk /dev/sda

再看一下

然后快速格式化硬盘
mkfs.ext3 -T largefile /dev/sda1

cd ~/
mkdir hd
sudo mount /dev/sda1 hd
这样做是没有权限访问hd的。
怎么办?
先umount ~/hd 然后
sudo mount -o uid=pi,gid=pi /dev/sda1 ~/hd
现在硬盘就挂载好了。
如果挂载不好,依然使用:
sudo mount /dev/sda1 ~/hd
但是要对该挂载点设置777权限
sudo chmod 777 ~/hd
接下来启动ipfs。
下载ARM的ipfs节点端:github.com/ipfs/go-ipf…
解压缩,更名为ipfs-arm(为了区别PC端的ipfs,不改名也没问题)。
我们要建立私有ipfs。首先生成key。
go get -u github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
ipfs-swarm-key-gen > ~/hd/swarm.key
因为swarm.key并非默认目录。因此先输入一个设置环境变量
export IPFS_PATH=~/hd
然后,初始化ipfs:
./ipfs-arm init

./ipfs-arm daemon

可以看到,私有IPFS已经启动了。
现在设置跨域
另起一个终端
export IPFS_PATH=~/hd
./ipfs-arm config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
./ipfs-arm config --json API.HTTPHeaders.Access-Control-Allow-Credentials "[\"true\"]"
./ipfs-arm config --json API.HTTPHeaders.Access-Control-Allow-Methods "[\"PUT\", \"POST\", \"GET\"]"
为了让外网可以访问,需要设置配置文件
nano ~/hd/config

如果启动后,还不能外网访问。那么可以下载UI。
git clone https://github.com/cr4fun/ipfs-webui.git
cd ipfs-webui
npm install
npm start
然后访问 localhost:3000

配置api为树莓派的ip地址。
/ip4/192.168.137.209/tcp/5001

之后,就可以添加文件了

但目前为止,只有1个节点。可以找另一个树莓派,再设置一次。
我使用PC电脑启动一个节点。然后获得该节点的信息
ipfs id

把框选处的内容填入下面

这样,就实现了2个节点的IPFS私有存储网络。
还可以进一步删掉没用的东西
./ipfs-arm bootstrap rn --all
./ipfs-arm bootstrap add /ip4/127.0.0.1/tcp/4001/ipfs/QmSYbwKJg6CZvRmAPrQhcNAyK29g7kayA25LBcJdwdisxd
added /ip4/127.0.0.1/tcp/4001/ipfs/QmSYbwKJg6CZvRmAPrQhcNAyK29g7kayA25LBcJdwdisxd