1

“服务器” 的搜索结果

U-NAS 系统中的 NFS 无法启动问题

如题所示,这是一个奇怪的问题,在 U-NAS 上,主要的用途之一,就是开启共享目录,一般我用到的共享方式有两种,一种是 SMB,Windows 原生的,另一种是 NFS 是基于服务器之间的共享方式。

而且在很多情况下,NFS 的性能都要好过 SMB。

通常在局域网内,我开启一个共享目录,会同时开启这两种方式。如果是在Linux 服务器需要用到这个共享目录,就会通过NFS 连上,而如果在其它的Windows 电脑上需要访问这个共享目录,就是用的 SMB方式。

因为在 PVE 服务器上,是设置好定时备份数据到 U-NAS 上面,而且是通过 NFS 方式。但是最近发现备份失败,而且是有一段时间了,在通过访问 U-NAS 的控制面板来查看的时候,发现是 NFS 服务没有起来。

找了好久,终于发现是因为之前,我从 U-NAS 上安装的四个硬盘直接取下一个,却没有取消设置在这个硬盘上的 NFS 共享,造成在系统启动 NFS 服务的时候,出现找不到这个硬盘而失败的情况。而且因为硬盘已经取下,用在了其它地方,现在在 U-NAS 控制面板中已经看不到这个盘,当然也就没法修改相关的设置。

找到问题,就直接去编辑 NFS 配置文件。

sudo nano /etc/exports

找到那条对应于已经取下的硬盘记录,删除或者注释掉,保存退出。

nfs-config.jpg可以从上面截图看出,就是 /mnt/nas2/ 这个盘不在。

启动服务

sudo service nfs-kernel-server restart

这样就把这个问题解决了。

U-NAS 升级到最新的 v4.0.6

昨天看了一下万由NAS的论坛,了解到最新的 4.0.6 已经发布一段时间了,而我大概在上半年的时候,把我的 U-NAS 从经典的 2.2 版本升级到了 3.1.1。而现在就要考虑升级到 4.0.6了。

于是,我先下载了 U-NAS 4.0.6,这个下载倒是花了不少时间,从官网下载或者从 nasge 下载都是差不多的时间。

unas-download-page.jpg下载完成后得到一个 iso 文件,然后要烧制到 USB 盘上。

用的是 Win32DiskImager,这个工具还是 1.0.0 版本,不过很好用,只是需要把 Windows 中的 Google Drive 关掉,否则 WINWIN2DiskImager 无法启动,记得关掉 Google Drive。

虚拟机磁盘的格式

在新装的服务器上,用的操作系统是 Proxmox Ve,然后上面有不少的虚拟机 VMs,原来的虚拟机磁盘一直是 raw 格式的,最近新增加的两个虚拟机确实默认用了 qcow2 的格式。下面就来看看这两者的差别。

Qemu 和 KVM 系统都支持好多种磁盘镜像格式,使用最多的就是 raw 和 qcow2 格式了。

磁盘镜像是虚拟化中的一块数据,存放在物理磁盘之中。进一步来看,它在虚拟环境中,就是一块虚拟磁盘。储存的方法就是基于文件的储存。

在 Qemu 中,磁盘镜像的默认储存格式是 raw。

优点:

  • 简单,而且可以在不同的机器间移动。
  • 在物理硬盘中是二进制格式。
  • 同其它格式相比,更接近于原始的磁盘性能,其开销非常小,没有元数据。
  • 只有有数据的部分才会写入物理磁盘,其他部分会是写入零,算稀疏文件。

缺点:

  • 缺乏类似压缩,AES 加密,快照等等的特点。
  • 备份需要全盘备份,没有增量一说。
  • 删除文件仍然会占用空间。

扩展名一般是 .img。

qcow2 镜像格式是 QEMU 支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。qcow2 是写镜像磁盘的副本,固定尺寸的单元,也成为簇组成一个文件,一个簇包含了数据和磁盘元数据。

优点:

  • 更小的镜像文件,没有稀疏文件。
  • 提供基于 zlib 的压缩。
  • 基于数据安全考虑, AES 加密可以用于保护磁盘镜像。
  • 可以多个虚拟机快照,包括增量备份。
  • 较小的簇尺寸可改善镜像文件的尺寸,而较大的簇可以提供更好的性能。
  • 较大的预分配在镜像大小增长的时候会提高性能。

缺点:

同 raw 相比,会有非常小的性能损失,这都是因为 元数据,压缩和加密的开销。

有时需要使用 fstrim 工具来给镜像文件瘦身,因为删除的文件会增加镜像的空间大小。

MovableType 的历史编码问题

最近刚刚把网站迁移到新的 VPS,还是放在 DigitalOcean,但是系统已经是全新的 Ubuntu 20.04 LTS。

迁移 Blog 需要把数据库备份,然后导入到新的服务器上的数据库中后才行。

本Blog 用的是 MovableType,从 2004 年开始建立的,当时采用的是 MT 3.11。中间迁移过好多次,每次导出的数据,看上去都是乱码,而且如果用 phpmyadmin 之类的工具查看数据的话,也是乱码。但是导入之后,从 MT 后台看到的还是正确的,可以正常地使用,所以就一直没有怎么去管它。

这次确实出现了导入后, 在 MovableType 后台看到的还是乱码,当然如果直接发布,就会全部是乱码的文字了,不知如何解决。

于是外事不决问 Google,一番搜索之后,找到下面这段,看着很类似我现在的问题。

Movable Type 5 默认使用的编码是 UTF-8,但是数据库连接中却优先使用当前数据库的 DEFAULT CHARSET 设置。如果在建立数据库的时候,DEFAULT CHARSET = utf8 那不会出什么问题,但如果设置是 DEFAULT CHARSET = latin1 就会出现一些问题,不巧的是,很多 MySQL 数据库的默认编码设置就是 latin1。

如果数据库的默认编码是 latin1,Movable Type 仍然会按照 UTF-8 编码保存数据,而数据库则用 latin1 编码保存和识别信息,在 Movable Type 界面中显示数据都是正常的,但是在需要导出或备份数据库的时候就会出现乱码了,比如用 phpMyAdmin 查看这些数据库中表里的记录,发现中文全部是乱码,导出后的文件也是乱码。

如何把这些乱码转换成正确的字呢?可以尝试下面的方法。

如果数据库的名字是 db_name,使用下面的导出命令:

mysqldump -uroot -p --default_character-set=latin1 --skip-set-charset db_name > db.sql

输入密码后产生 db.sql 文件,替换文件中的 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci 为 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 以及替换 collate latin1_general_ci 为 collate utf8_unicode_ci,之后新建一个数据库,注意设置 DEFAULT CHARSET = utf8,在这个数据库中执行导出的 SQL 就可以将这些"乱码"转换为正常的字了。

实际操作时,我是这样做的。

先用上面的 mysqldump 命令把数据库导出到一个 sql 文件,(这时导出的 sql 文件内容已经没有乱码了。显示中文正常。)然后用 Notepad++ 打开 sql 文件,寻找 DEFAULT CHARSET=latin1 字符串,替换为 DEFAULT CHARSET=utf8

保存之后,现在的 MySQL数据库,新建的数据库默认就是 utb8mb4_general_ci,就直接导入到数据库中就可以了。

常用免费软件之完全全列表

大概在十年前,我写过一个《三十五款免费软件之完全全列表》在当时是非常新的,而且在之后相当长的一段时间,我都是这样用的。
现在已经是 2017 年底了,好多都有了很大的变化,有几个甚至不再可用了。下面,就把目前我的桌面电脑上所使用常用免费软件列出来。

图片软件:
Snipping Tool, 是 Windows 10 所内置的软件,非常好用。

办公软件:
LibreOffice ,目前最新的版本是 v5.4.3,有 Windows ,Linux, MacOS 各种版本可用。

Google Docs 还是好用,我女儿学校里用的很多,有时候就会分享给我,方便分享和查看。

文本编辑:
Notepad ++ , 最新版本是 v7.5.1,有不少的插件,比如diff,等等。

压缩软件:
7-zip,最新稳定版已经是16.04,更新的是17.01 beta版。
支持的格式:压缩解压缩: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
只解压缩: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z.

如何用 Transmission 做种

Transmission 是一个 BT 客户端,通常是用在 NAS 之上,有一个 Web 界面来管理下载和分享,鉴于目前 BT 网站的不景气,只有 PT 还是可以生存的。
这里我说的做种,是已经有了一个文件,或者一组文件,想要做一个新的种子给别人使用,这里就比较麻烦,因为 Web 界面是没有办法做这件事情的。具体如何来操作下面需要用到一点 Linux 的知识。

首先前提是操作系统是一个 Linux ,比如我现在在用的万由NAS,其操作系统就是基于Linux制作的。Transmission也是运行于之上的。

第一步,先用 putty 工具 SSH 登录到终端。
输入一下命令查看一下 transmission-create 的参数。

transmission-create-help.jpg

transmission-create
Usage: transmission-create [options] <file|directory>
Options:
-h --help Display this help page and exit
-p --private Allow this torrent to only be used with the specified tracker(s)
-o --outfile <file> Save the generated .torrent to this filename
-c --comment <comment> Add a commen
-t --tracker <url> Add a tracker's announce URL
-V --version Show version number and exit

举例来说:要把这个文件夹 /mnt/nas2/download/the.files.in.this.folder.need.to.be.seeded/ 生成种子。
Tracker服务器的URL是你所参加的某个 PT 所提供的,并指定(通常,你可以在PT平台查到): https://www.example-pt.com/announce.php

命令如下
cd /mnt/nas2/download/
transmission-create -p -o seed.name.torrent -t https://www.example-pt.com/announce.php /mnt/nas2/download/the.files.in.this.folder.need.to.be.seeded/

OK,开始生成种子了。
生成的种子被保存在 /mnt/nas2/download/ 下,文件名为:seed.name.torrent
注意 源目录中不能包含"空格"及"中文",否则命令无效。

接下来就是上传这个种子到你的 PT 网站,上传之后,再下载一份种子,用这个下载下来的torrent文件,在 transmission 的 Web 管理界面里添加种子,记得要指定下载目录同 /mnt/nas2/download/,开始验证文件,完成后,就可以做种了。

Note: 之前制作的种子文件,同你上传后所下载的种子文件,其实是不同的,后者带有你自己帐号的 passkey,用来追踪你的下载和上传的量。

织梦系统更新到最新V5.7.32 正式版0715的几个tips

刚刚织梦系统发布了最新的V5.7.32 正式版0715常规更新。我对两个网站做了更新,这次的更新,暂时用系统后台是检查不到的。
所以就手工更新。

下载了更新包,解压,上传覆盖。
用phpmyadmin运行了sql

基于MovableType 5.01 的升级

在过去的几天,花了不少时间来做升级。
MovableType 5.01在跳票两次后,终于发布。
当然已然不是MT 5.0,而是直接变成了5.01。

之前,所用的版本是4.32,升级到MovableType 5.01的确不是那么的容易,但也不是那么的困难,只要掌握其中的关键,以及做好万全之措施,就没有什么大问题。

这里说一下我升级本Blog的过程吧。
1. 备份
1.1 在MT后台的备份
tools 》export , 下载文件类似blog.txt
tools 》Backup , 下载的文件名类似 MovableType_2010_01_11-18-10-15.backup.zip

1.2 用phpmyadmin对数据库直接备份
export 所有的表,压缩下载,类似文件名,journalblog.sql.gz

1.3 备份所有的文件
ssh到服务器
执行命令
tar czvf journal.yinfor.com.tar.gz ./journal.yinfor.com/
保存好该文件,其中包括后台文件和所有的静态文件,同上面的数据库备份做万一升级失败后的恢复准备。

2. 记录设置
2.1 记下所使用的plugins
目前只用了tag supplemental插件,版本0.22,经测试可以使用在MovableType 5.01上。

2.2 记录样式和模板的重要点
某些定制index模板,定制的widget的名称,内容可以之后从数据库中直接找到。
模板改过输出名称的,需要记下,比如后缀名从html改成php等。

2.3 记录blog的设置
比如路径等等。

3. 准备升级数据库
用phpmyadmin,新建一个数据库,比如叫做journalmt5,然后用1.2中导出的数据恢复。

swVPS的奇怪问题造成的mySQL无法启动

今天下午,回到家,就受到监控短信,说论坛挂了,于是就是开机,看后台,发现mySQL服务器无法连接,就重启了VPS,还是不行,手动启动mysqld,都出错。

好了,应该没有做什么啊,记得上次有过一次因为磁盘空间满,而出现同样症状。
从HyperVM控制面板看,10G的空间还有3G多的空闲啊,可是我在Webmin控制面板上看到的是6.8G的空间,全满了。

看来还是同样的问题出现。磁盘空间满了,没法写入,也就没有临时空间,数据库就起不来了,当然论坛就总是出现下面的错误

SQL ERROR [ mysql4 ]

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) [2002]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

成功升级论坛

上个周末把论坛升级了一下,事先给了通知,那样用户们也就心里有数。

升级的过程还算顺利,之前已经在另外一个小一点的论坛上做过一次升级,没有什么问题,这次升级主要论坛就比较有把握。

但在升级前,所作的备份安全措施还是比不可少的,详细的步骤之前写了,就不赘述了,看这里有。
看光备份就做了三套,以备不时之需。

升级后的过程也很顺利,基本上没有几个地方要修改的,很快就再次上线了。原打算4个小时完成的,后来用了2个小时。如果升级失败的话,就需要另外两个小时,恢复到旧论坛。

用phpBB做论坛,对于资源的消耗还是很大的,在升级前,我增加了新的缓存系统,以改进论坛对用户的反应速度,还有就是占用更少的资源。

关于作者
搜索
归档

Online Tools

Code Convertor