ArchLinux在dm_crypt加密分区上LVM
总是会突然就想折腾。。。今天又折腾了一下ArchLinux。主要目标就是把整个硬盘加密,省得哪天有人盗窃了我的硬盘后给整出个什么什么门来。另外就是要用LVM管理分区,这样方便以后的调整。
其实吧,这次做这些东西纯粹是由于各方面条件都在促使我这么做:
- 我有一块多余的160G的硬盘,上面什么都没有,我实在不想让它寂寞了;
- 而且我发现ABitNo的Linux水平有长进了,记得刚开始的时候就想过加密Linux的文件系统,当时也看到用dm_crypt,可是吧,当时那些命令都看不懂,觉得相当神奇和畏惧,现在可好了,什么命令看看man就知道是个什么情况了;
- 同时,这几天学校某台服务器由我来接管,我得学点新技术才行(我很鄙视那台服务器之前的管理员,上面的网页都是用DW做得,那个混乱就没法说了,而且都是.aspx,我想把系统换成Linux来着)
不管怎么说,我就是又折腾了,虽然看看manual就能了解基本的用法,不过期間还是有很多意外发生的。簡记一下折腾的过程:
刚开始,我用dm_crypt测试性得加密了一个分区,用的reiserfs文件系统,系统启动,输入passphrase,然后就是个error
Filesystem check failed
不知道是什么个情况,hook都加载正确,而且也成功的把分区解密了,就在check fs的时候出问题。google的結果是可能分区损坏,就用badblocks把那个160的硬盘整个检查了一下,用了大约一小时的时间,最后的結果是0错误。。。
再次尝试,依然是同样的错误。。。第三次就没加密那个分区,成功启动。。。看来是dm_crypt和reiserfs之间有问题?google了一下没发现什么有用的东西。
不尝试了,开始正式的任务,LVM over dm_crypt partition
要想用lvm和dm_crypt组合很明显的两种途径就是:先lvm后dm_crypt;先dm_crypt后lvm,很显然的是用后一种方式要简单的多。。。
首先准备下硬盘,我把那个160的硬盘分了两个主分区
/dev/sda1 #这个用来做boot分区,总不能把启动分区加密吧 /dev/sda2 #这个就用dm_crypt加密,然后作为lvm的pv
然后加密/dev/sda2,依次执行下面的命令就是了,具体是什么意思看看manual就知道了
modprobe dm-crypt cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2 cryptsetup luksOpen /dev/sda2 lvm
接下来lvm,这个只要了解lvm中的PV,VG,LV就很简单的
pvcreate /dev/mapper/lvm vgcreate arch /dev/mapper/lvm lvcreate -L 10G -n root arch lvcreate -L 1G -n swap arch lvcreate -L 30G -n home arch
上面lvcreate的命令只是个简单的例子,不同的分区就是改一下大小就是了
最后要做的就是简单的安装ArchLinux了,所有的过程都没变,只是要注意在选择分区的时候是/dev/mapper旗下的
另外配置上也有点要注意,就是rc.conf里有个uselvm要yes的,mkinitcpio.conf里的hooks在filesystem前加载encrypt和lvm2,grub的启动项也要添加一个cryptdevice=/dev/sda2:arch
这下我的分区是用的ext4的,而且是主分区,一次成功,没有什么意外。按照最基本的控制变量法,不能确定我之前的error是什么原因。。。或许是fs的问题,也可能是我之前用的逻辑分区不可以。。。有知情的教育ABitNo一下
本文基于 署名-非商业性使用-禁止演绎 2.5 中国大陆 发布
19 COMMENTS >>LEAVE<<
-
磁盘加密觉得没什么必要,我电脑里不会放私密的东西.LVM一直想尝试,但想到需重装就有些头疼,不知道磁盘用LVM划分后可以装上WINDOWS吗?我650G的硬盘,装了两个系统后依然还剩100GB容量,从没派上用场.
-
@happybabe
不知道Windows对LVM是否支持,不过你可以把一个分区用来LVM,给Windows也分个区就行啊。。。
-
总是感觉lvm不太安全,不太敢用
-
@kangzj
为什么会有如此感觉???没理由啊
-
你这里的技术文章真多。我上网都是玩来着的~
-
教育网用户前来围观……速度好快……
话说加密会影响速度么?什么时候需要输密码呢? -
我现在这块硬盘剩余还不到1G
唉……
我倒是常加密单个文件 呵呵
-
@tmdab123
我现在用的这块160的还剩100G。。。
-
@ABitNo
底层分成一小块一小块的,空间不连续,万一lvm的索引数据啥的有损失,那不就乱套了
-
@kangzj
我不懂。。。
不过很多服务器都是会用lvm的吧。。。应该没有什么问题,就算是你说的这问题,那个一般的分区还不也一样吗 -
@ABitNo
这个不清楚,我装的几台机器都是老老实实地分区了;一般的分区空间是连续的,一块地方有问题不会影响别的地方
我也不太懂的啦,所以不太敢用 -
@kangzj
又google了解了一下,发现那些大型的Unix都会用LVM来管理磁盘的,真的是很方便,而且我发现CentOS安装时默认的分区方式也是用LVM的。。。
-
@ABitNo
在实验室,只能用教育网……郁闷,我也上不去博客……
-
我才是在gentoo的文档里看到了LVM这个东西,貌似最大的优点就是调整分区不用重启吧
-
@risent
是的,而且是非常迅速,几个小命令就成了。。。
因为这不是真的那种分区,只是个虚拟的吧 -
LVM是从UNIX迁移过来的技术,稳定性和可靠性是肯定没有问题的。很早的时候RHEL/OEL默认就用LVM来管理磁盘,几乎所有distro都支持LVM。Ubuntu的话需要用alterate CD安装才可以看到选项。我接触的生产系统中,几乎90%以上都是用LVM管理磁盘的。
除了在线调整volumn之外,LVM还支持很多高级特性,比如abitno用的全盘加密,snapshot,软raid,容错等等。当然个人用户能用到的只是其中的一小部分罢了,重装系统的时候可以直接认出Volumn Group和Volumn,所以没必要担心,放心用吧,尤其是大硬盘的。我的Ubuntu也在用,不过我用不到LVM的加密,用TrueCrypt,安全性高,而且跨平台,对我来说绰绰有余了;-)
其实感觉LVM有点类似ZFS,实现了ZFS的部分功能。准备在OS X 10.6上用上ZFS之后,和LVM对比之后写个文章分享一下心得,不过貌似很忙没空写,只有个draft,太忙了,囧。
Windows的磁盘管理中应该也有动态卷的概念,不过是不是同样的东西就不清楚了。
这篇是收藏中关于LVM最详细的文章,强烈推荐!
http://sunoano.name/ws/public_xhtml/lvm.html此外还有IBM的:
http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-1/
http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-2/ -
@Terry
谢谢Terry的详细解答,以后我多尝试下:-)
-
@Terry
IBM的文章我还是经常看的,那两个关于LVM的我也看过,仍然会有些不明白的,不过先用着就是了,我的感觉就是用多了就了解了。。。
另外这个ZFS真的是被说的很神啊,感觉ZFS就是个Filesytem和LVM的整合,我对SUN也是有过分崇拜的嫌疑。不过我到现在依然没有看出这些文件系统的差别,用着也就是给自己个心理安慰罢了。。。ZFS再怎么高级,一般人也用不着的。刚到Wikipedia上看了一下,发现Mac OS也在支持ZFS,现在这些Unix变种包括Linux都把ZFS给Port过来了,不过Linux貌似由于授权方面的冲突有点小意外。。。
那个TrueCrypt也去看了下,用的算法什么都差不多,其实也没什么重要东西,加密后还是一点小小的心理安慰。。。