我有一个包含三(3)个硬盘[/ dev / sda,/ dev / sdb和/ dev / sdc]的Fedora 17系统。
/ dev / sda磁盘是我的系统的“启动驱动器”。 我已经将系统设置为automount / dev / sdb和/ devsdc。 我有一个数据库应用程序[MySQL],我想只安装在/ dev / sdb上,但是我不知道如何完成这个。 [我打算使用/ dev / sdc作为系统备份的位置。]
请有人告诉我如何做到这一点? 在Windows 7下(例如)这个任务是微不足道的,但我从来没有见过Linux的任何文档。 预先感谢您的帮助。
不要太生硬,但是你对磁盘存储的所有知识都是错误的!
(或者至less是基于Windows从DOSinheritance的基本破坏的范式,它inheritance了CP / M)。
在用户/文件系统级别,Unix不关心它使用的是什么物理设备。 只有一个真正的伟大和丰富的目录层次结构(树),植根于/ (根),在其下生活的所有东西。
文件系统是在磁盘设备( /dev/sda1 , /dev/sda2 , /dev/sdb1等)上创build的,并安装在您想要逻辑访问它们的位置。
例如, /dev/sda1 (Windows驱动器C: /dev/sda1第一个硬盘)可能安装在/ (root)。
然后你可以把/dev/sda2挂载到/usr包含你所有的“userland”程序,挂载在/home /dev/sda3包含所有的用户主目录。 /dev/sdb1可能会挂载在/var以保存日志文件,所以它们不会填满启动驱动器等。
物理结构(哪个磁盘/分区与哪个挂载点关联)是根据预计的需求/增长情况决定的。
逻辑结构(目录名称及其内容)是标准化的,并在系统手册( hier(7) from a Linux system和BSD系统 )中进行了说明。
您可以通过运行mount命令来查看哪些分区(文件系统)被装载在哪里:
[mgraziano@monitor ~]$ mount /dev/da0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/da0s1h on /home (ufs, local, soft-updates) /dev/da0s2d on /opt (ufs, local, soft-updates) /dev/da0s1g on /tmp (ufs, local, soft-updates) /dev/da0s1e on /usr (ufs, local, soft-updates) /dev/da0s1f on /usr/local (ufs, local, soft-updates) /dev/da1s1d on /usr/local/pgsql/data (ufs, local, soft-updates) /dev/da3s1d on /usr/local/pgsql/data/pg_xlog (ufs, local, soft-updates) /dev/da2s1d on /usr/local/pgsql/data/xlog_archive (ufs, local, soft-updates) /dev/da0s1d on /var (ufs, local, soft-updates)
您可以使用df命令获取更多信息(如可用空间):
[mgraziano@monitor ~]$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/da0s1a 2G 73M 1.7G 4% / devfs 1.0k 1.0k 0B 100% /dev /dev/da0s1h 18G 6.3M 16G 0% /home /dev/da0s2d 63G 7.4M 58G 0% /opt /dev/da0s1g 2G 14k 1.8G 0% /tmp /dev/da0s1e 9.7G 810M 8.1G 9% /usr /dev/da0s1f 14G 1.9G 11G 14% /usr/local /dev/da1s1d 266G 21G 223G 9% /usr/local/pgsql/data /dev/da3s1d 130G 128M 120G 0% /usr/local/pgsql/data/pg_xlog /dev/da2s1d 266G 2.1G 242G 1% /usr/local/pgsql/data/xlog_archive /dev/da0s1d 9.7G 308M 8.6G 3% /var
上面的结果来自FreeBSD系统,所以设备名称是不同的,但输出的一般格式是相同的。
那么你的问题的答案是什么? – “你在想这个错误。”
当你在Unix系统上安装像MySQL这样的软件包的时候,它会(希望)遵守这个文档中的惯例。 例如:
/etc/mysql/ /var/db/mysql/ /usr/bin/mysql /usr/sbin/mysqldump /usr/sbin/mysqld /etc因此数据库在系统启动时启动。 对于安装(和用户)而言,重要的是文件系统层次结构中的逻辑位置。 底层物理磁盘的概念完全被抽象出来(除非空间用完,而且假定您(系统pipe理员)已经使分区足够大以容纳正在安装的内容)。
Unix文件系统提供的抽象有许多好处,其中包括覆盖初始分区中出现的错误的能力。
例如,如果系统上的/var分区是只有10GB,但你希望MySQL存储100GB的数据,你可能会出去购买一个新的硬盘驱动器,安装它,并将其挂载到/var/db/mysql这样你有足够的空间为您的数据库。
例如,查看我上面提供的df输出 – /usr/local/pgsql/data (我的Postgres数据库目录)驻留在从/usr/local (它本身与/usr/local分开)的单独的更大的分区上。