找回密码
 新注册用户
搜索
查看: 7102|回复: 21

教程:Ubuntu+Ramdisk

[复制链接]
发表于 2016-8-8 04:56:53 | 显示全部楼层 |阅读模式
本帖最后由 kylinblue 于 2016-8-10 21:47 编辑

16线程以上跑WCG好烧硬盘。Ramdisk好做,设置BOINC正确启动很难。

〇、这里默认你已经安装BOINC(并且使用的apt-get),如果没有,去安装
  1. sudo apt-get install -y boinc-client
复制代码
一、建立Ramdisk
首先,建议你有16GB以上的内存。Linux下设置Ramdisk其实非常简单,第三方软件也不用装。鉴于不一样的distro会有不一样的变量,这里我们以Ubuntu为准。
  1. sudo mkdir /mnt/ramdisk
复制代码
之后,用nano编辑fstab
  1. sudo nano /etc/fstab
复制代码
加入这行
  1. tmpfs           /mnt/ramdisk tmpfs      defaults 0 0
复制代码
挂载
  1. sudo mount /mnt/ramdisk
复制代码
你可以用mount或者df命令确认下挂载,这里不多赘述。

二、建立Ramdisk备份
tmpfs是在重启后不保存文件的,这里我们来做个自动备份
新建路径
  1. sudo mkdir /var/ramdisk-backup
复制代码
之后开一个新的启动脚本
  1. sudo nano /etc/init.d/ramdisk-manage
复制代码
写进以下代码
  1. #!/bin/sh
  2. # /etc/init.d/ramdisk-manage
  3. #
  4. ### BEGIN INIT INFO
  5. # Provides:          ramdisk-manage
  6. # Required-Start:    $local_fs $remote_fs
  7. # Required-Stop:     $local_fs $remote_fs
  8. # Default-Start:     
  9. # Default-Stop:      0 1 6
  10. # Short-Description: ramdisk
  11. # Description:      
  12. ### END INIT INFO

  13. case "$1" in
  14.   start)
  15.     echo "Syncing files from harddisk to ramdisk"
  16.     rsync -av /var/lib/ramdisk-backup/ /mnt/ramdisk/
  17.     echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk Synched from HD >> /var/log/ramdisk-manage.log
  18.     ;;
  19.   sync)
  20.     echo "Syncing files from ramdisk to harddisk"
  21.     echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk Synched to HD >> /var/log/ramdisk-manage.log
  22.     rsync -av --delete --recursive --force /mnt/ramdisk/ /var/lib/ramdisk-backup/
  23.     ;;
  24.   stop)
  25.     echo "Syncing files from ramdisk to harddisk"
  26.     echo [`date +"%Y-%m-%d %H:%M"`] Ramdisk Synched to HD >> /var/log/ramdisk-manage.log
  27.     rsync -av --delete --recursive --force /mnt/ramdisk/ /var/lib/ramdisk-backup/
  28.     ;;
  29.   *)
  30.     echo "Usage: /etc/init.d/manage-ramdisk {start|stop|sync}"
  31.     exit 1
  32.     ;;
  33. esac

  34. exit 0
复制代码
之后要给文件加权限
  1. sudo chmod +x /etc/init.d/ramdisk-manage
复制代码
  1. sudo chown root:root /etc/init.d/ramdisk-manage
复制代码
制作第二个脚本
  1. sudo nano /lib/systemd/system/ramdisk-manage.service
复制代码
输入以下代码
  1. [Unit]
  2. Description=ramdisk service

  3. [Service]
  4. Type=oneshot
  5. RemainAfterExit=true
  6. ExecStart=/etc/init.d/ramdisk-manage start
  7. ExecStop=/etc/init.d/ramdisk-manage stop

  8. [Install]
  9. WantedBy=multi-user.target
复制代码
加到启动列表里
  1. sudo systemctl reenable ramdisk-manage.service
复制代码
打开BOINC启动设置文件
  1. sudo nano /lib/systemd/system/boinc-client.service
复制代码
找到这行,如下把ramdisk-manage.service加进去,(以确保BOINC能正常自动启动)
  1. After=network.target ramdisk-manage.service
复制代码
同样,刷新一下启动列表
  1. sudo systemctl reenable boinc-client.service
复制代码
三、移动BOINC数据
复制到Ramdisk
  1. sudo rsync -av /var/lib/boinc-client /mnt/ramdisk/
复制代码
复制到Ramdisk备份(避免出问题)
  1. sudo rsync -av /var/lib/boinc-client /var/lib/ramdisk-backup
复制代码
删除原数据
  1. sudo rm -r /var/lib/boinc-client
复制代码
建立Ramdisk到原先位置的连接
  1. sudo ln -s /mnt/ramdisk/boinc-client /var/lib/
复制代码
全部完成,可以sudo reboot了。
如果发生问题,或者不再用Ramdisk了,把连接删掉,再把backup复制过去就好了。

四、利用Cron来定时备份,避免断电损失
打开Cron
  1. sudo crontab -e
复制代码
选二(应该是nano)
将以下部分加进去
  1. * 0,6,12,18 * * * rsync -auv --delete /mnt/ramdisk/ /var/lib/ramdisk-backup/
复制代码
五、关机备份脚本 (今天发现关机的时候没有备份,这里修正一下)
sudo update-rc.d ramdisk-manage defaults 99

评分

参与人数 2基本分 +25 收起 理由
金鹏 + 20 赞一个!
horst1981 + 5 膜拜

查看全部评分

回复

使用道具 举报

发表于 2016-8-8 09:28:15 | 显示全部楼层
一直觉得写代码是个很高级的事,当时做微信美工写HTML代码就研究了好久
回复

使用道具 举报

 楼主| 发表于 2016-8-8 11:08:02 | 显示全部楼层
段小猫 发表于 2016-8-7 20:28
一直觉得写代码是个很高级的事,当时做微信美工写HTML代码就研究了好久 ...

我很懒的,这种量的代码,稍微会点的人写个shell就完事了
回复

使用道具 举报

发表于 2016-8-8 11:58:03 | 显示全部楼层
先收藏,以后可能用的到,一直想装LINUX系统,听说能快15%,可惜不会玩这个系统
回复

使用道具 举报

发表于 2016-8-8 12:07:09 | 显示全部楼层
8g ramdisk 壕
回复

使用道具 举报

发表于 2016-8-8 12:38:24 | 显示全部楼层
做个软件包多好。像windows那样直接使用。
回复

使用道具 举报

发表于 2016-8-8 14:18:51 | 显示全部楼层
一直想上linux,但一直想,就是没上
回复

使用道具 举报

发表于 2016-8-8 15:29:45 | 显示全部楼层
不会Linux。,没时间学。
回复

使用道具 举报

发表于 2016-8-8 18:03:07 来自手机 | 显示全部楼层
这个可以有。要是顺便把L下超频解决了就完美了
回复

使用道具 举报

 楼主| 发表于 2016-8-9 07:28:17 | 显示全部楼层
faner 发表于 2016-8-7 23:38
做个软件包多好。像windows那样直接使用。

应该让BOINC那边做个Docker,更简单。
回复

使用道具 举报

发表于 2016-8-9 07:31:55 | 显示全部楼层
saar 发表于 2016-8-8 11:58
先收藏,以后可能用的到,一直想装LINUX系统,听说能快15%,可惜不会玩这个系统 ...

OET项目快60%
回复

使用道具 举报

发表于 2016-8-9 08:17:00 | 显示全部楼层
因为这也不是boinc的核心功能。还是用windows简便。
回复

使用道具 举报

发表于 2016-8-9 10:46:42 | 显示全部楼层

看来得空还真要折腾一下
回复

使用道具 举报

 楼主| 发表于 2016-8-9 11:33:29 | 显示全部楼层
本帖最后由 kylinblue 于 2016-8-8 22:37 编辑
saar 发表于 2016-8-8 21:46
看来得空还真要折腾一下

我可以辅导你装系统啊。相当简单。系统装完之后几个命令我现在都能告诉你。。
  1. sudo apt-get update
  2. sudo apt-get upgrade -y
  3. sudo apt-get install boinc-client
  4. sudo nano /var/lib/boinc-client/remote_hosts.cfg
复制代码
最后一步把你用来控制的电脑IP放进去,完事。(这是服务器版)
哦,另外强烈不推荐你用ubuntu kylin。除非你告诉我你0英语基础还不认识26字母。
回复

使用道具 举报

发表于 2016-8-9 15:27:31 | 显示全部楼层
kylinblue 发表于 2016-8-9 11:33
我可以辅导你装系统啊。相当简单。系统装完之后几个命令我现在都能告诉你。。最后一步把你用来控制的电脑I ...

多谢,哪天我折腾了不懂的再请教你,哈哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-5-9 04:15

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表