proxmox ve -- ZFS on Linux 2019-08-30

proxmox ve -- ZFS on Linux 2019-08-30,第1张

ZFS是由Sun Microsystems设计的一个文件系统和逻辑卷管理器的组合。从proxmox ve 3.4开始,zfs文件系统的本机Linux内核端口作为可选文件系统引入,并作为根文件系统的附加选择。不需要手动编译ZFS模块-包括所有包。

通过使用zfs,它可以通过低硬件预算花销实现最大的企业功能,并且可以通过利用SSD缓存或纯使用SSD来实现高性能系统。ZFS可以通过适度的CPU和内存负载以及简单的管理来取代成本高昂的硬件RAID卡。

General ZFS advantages

ZFS很大程度上依赖于内存,因此至少需要8GB才能启动。在实践中,尽可能多地使用高配置硬件。为了防止数据损坏,我们建议使用高质量的ECC RAM。

如果使用专用缓存和/或日志磁盘,则应使用企业级SSD(例如Intel SSD DC S3700系列)。这可以显著提高整体性能。

If you are experimenting with an installation of Proxmox VE inside a VM (Nested Virtualization), don’t use <tt>virtio</tt>for disks of that VM, since they are not supported by ZFS. Use IDE or SCSI instead (works also with <tt>virtio</tt>SCSI controller type).

When you install using the Proxmox VE installer, you can choose ZFS for the root file system. You need to select the RAID type at installation time:

| RAID0

|

Also called “striping”. The capacity of such volume is the sum of the capacities of all disks. But RAID0 does not add any redundancy, so the failure of a single drive makes the volume unusable.

|

| RAID1

|

Also called “mirroring”. Data is written identically to all disks. This mode requires at least 2 disks with the same size. The resulting capacity is that of a single disk.

|

| RAID10

|

A combination of RAID0 and RAID1. Requires at least 4 disks.

|

| RAIDZ-1

|

A variation on RAID-5, single parity. Requires at least 3 disks.

|

| RAIDZ-2

|

A variation on RAID-5, double parity. Requires at least 4 disks.

|

| RAIDZ-3

|

A variation on RAID-5, triple parity. Requires at least 5 disks.

|

The installer automatically partitions the disks, creates a ZFS pool called <tt>rpool</tt>, and installs the root file system on the ZFS subvolume <tt>rpool/ROOT/pve-1</tt>.

Another subvolume called <tt>rpool/data</tt>is created to store VM images. In order to use that with the Proxmox VE tools, the installer creates the following configuration entry in <tt>/etc/pve/storage.cfg</tt>:

<pre><tt>zfspool: local-zfs

pool rpool/data

sparse

content images,rootdir</tt></pre>

After installation, you can view your ZFS pool status using the <tt>zpool</tt>command:

<pre><tt># zpool status

pool: rpool

state: ONLINE

scan: none requested

config:

errors: No known data errors</tt></pre>

The <tt>zfs</tt>command is used configure and manage your ZFS file systems. The following command lists all file systems after installation:

<pre><tt># zfs list

NAME USED AVAIL REFER MOUNTPOINT

rpool 4.94G 7.68T96K /rpool

rpool/ROOT 702M 7.68T96K /rpool/ROOT

rpool/ROOT/pve-1 702M 7.68T 702M /

rpool/data 96K 7.68T96K /rpool/data

rpool/swap4.25G 7.69T64K -</tt></pre>

Depending on whether the system is booted in EFI or legacy BIOS mode the Proxmox VE installer sets up either <tt>grub</tt>or <tt>systemd-boot</tt>as main bootloader. See the chapter on Proxmox VE host bootladers for details.

This section gives you some usage examples for common tasks. ZFS itself is really powerful and provides many options. The main commands to manage ZFS are <tt>zfs</tt>and <tt>zpool</tt>. Both commands come with great manual pages, which can be read with:

<pre><tt># man zpool

To create a new pool, at least one disk is needed. The <tt>ashift</tt>should have the same sector-size (2 power of <tt>ashift</tt>) or larger as the underlying disk.

<pre><tt>zpool create -f -o ashift=12 <pool><device></tt></pre>

To activate compression

<pre><tt>zfs set compression=lz4 <pool></tt></pre>

Minimum 1 Disk

<pre><tt>zpool create -f -o ashift=12 <pool><device1><device2></tt></pre>

Minimum 2 Disks

<pre><tt>zpool create -f -o ashift=12 <pool>mirror <device1><device2></tt></pre>

Minimum 4 Disks

<pre><tt>zpool create -f -o ashift=12 <pool>mirror <device1><device2>mirror <device3><device4></tt></pre>

Minimum 3 Disks

<pre><tt>zpool create -f -o ashift=12 <pool>raidz1 <device1><device2><device3></tt></pre>

Minimum 4 Disks

<pre><tt>zpool create -f -o ashift=12 <pool>raidz2 <device1><device2><device3><device4></tt></pre>

It is possible to use a dedicated cache drive partition to increase the performance (use SSD).

As <tt><device></tt>it is possible to use more devices, like it’s shown in "Create a new pool with RAID*".

<pre><tt>zpool create -f -o ashift=12 <pool><device>cache <cache_device></tt></pre>

It is possible to use a dedicated cache drive partition to increase the performance(SSD).

As <tt><device></tt>it is possible to use more devices, like it’s shown in "Create a new pool with RAID*".

<pre><tt>zpool create -f -o ashift=12 <pool><device>log <log_device></tt></pre>

If you have an pool without cache and log. First partition the SSD in 2 partition with <tt>parted</tt>or <tt>gdisk</tt>

| Always use GPT partition tables. |

The maximum size of a log device should be about half the size of physical memory, so this is usually quite small. The rest of the SSD can be used as cache.

<pre><tt>zpool add -f <pool>log <device-part1>cache <device-part2></tt></pre>

Changing a failed device

<pre><tt>zpool replace -f <pool><old device><new device></tt></pre>

Changing a failed bootable device when using systemd-boot

<pre><tt>sgdisk <healthy bootable device>-R <new device>

sgdisk -G <new device>

zpool replace -f <pool><old zfs partition><new zfs partition>

pve-efiboot-tool format <new disk's ESP>

pve-efiboot-tool init <new disk's ESP></tt></pre>

| <tt>ESP</tt>stands for EFI System Partition, which is setup as partition #2 on bootable disks setup by the Proxmox VE installer since version 5.4. For details, see Setting up a new partition for use as synced ESP . |

ZFS comes with an event daemon, which monitors events generated by the ZFS kernel module. The daemon can also send emails on ZFS events like pool errors. Newer ZFS packages ships the daemon in a separate package, and you can install it using <tt>apt-get</tt>:

<pre><tt># apt-get install zfs-zed</tt></pre>

To activate the daemon it is necessary to edit <tt>/etc/zfs/zed.d/zed.rc</tt>with your favourite editor, and uncomment the <tt>ZED_EMAIL_ADDR</tt>setting:

<pre><tt>ZED_EMAIL_ADDR="root"</tt></pre>

Please note Proxmox VE forwards mails to <tt>root</tt>to the email address configured for the root user.

| The only setting that is required is <tt>ZED_EMAIL_ADDR</tt>. All other settings are optional. |

It is good to use at most 50 percent (which is the default) of the system memory for ZFS ARC to prevent performance shortage of the host. Use your preferred editor to change the configuration in <tt>/etc/modprobe.d/zfs.conf</tt>and insert:

<pre><tt>options zfs zfs_arc_max=8589934592</tt></pre>

This example setting limits the usage to 8GB.

|

If your root file system is ZFS you must update your initramfs every time this value changes:

<pre><tt>update-initramfs -u</tt></pre>

|

Swap-space created on a zvol may generate some troubles, like blocking the server or generating a high IO load, often seen when starting a Backup to an external Storage.

We strongly recommend to use enough memory, so that you normally do not run into low memory situations. Should you need or want to add swap, it is preferred to create a partition on a physical disk and use it as swapdevice. You can leave some space free for this purpose in the advanced options of the installer. Additionally, you can lower the “swappiness” value. A good value for servers is 10:

<pre><tt>sysctl -w vm.swappiness=10</tt></pre>

To make the swappiness persistent, open <tt>/etc/sysctl.conf</tt>with an editor of your choice and add the following line:

<pre><tt>vm.swappiness = 10</tt></pre>

<caption class="title">Table 1. Linux kernel <tt>swappiness</tt>parameter values</caption><colgroup><col style="width:33%"><col style="width:66%"></colgroup>

<tt>vm.swappiness = 0</tt>

|

The kernel will swap only to avoid an out of memory condition

|

|

<tt>vm.swappiness = 1</tt>

|

Minimum amount of swapping without disabling it entirely.

|

|

<tt>vm.swappiness = 10</tt>

|

This value is sometimes recommended to improve performance when sufficient memory exists in a system.

|

|

<tt>vm.swappiness = 60</tt>

|

The default value.

|

|

<tt>vm.swappiness = 100</tt>

|

The kernel will swap aggressively.

|

ZFS on Linux version 0.8.0 introduced support for native encryption of datasets. After an upgrade from previous ZFS on Linux versions, the encryption feature can be enabled per pool:

<pre><tt># zpool get feature@encryption tank

NAME PROPERTYVALUESOURCE

tank feature@encryption disabled local

NAME PROPERTYVALUESOURCE

tank feature@encryption enabled local</tt></pre>

| There is currently no support for booting from pools with encrypted datasets using Grub, and only limited support for automatically unlocking encrypted datasets on boot. Older versions of ZFS without encryption support will not be able to decrypt stored data. |

| It is recommended to either unlock storage datasets manually after booting, or to write a custom unit to pass the key material needed for unlocking on boot to <tt>zfs load-key</tt>. |

| Establish and test a backup procedure before enabling encryption of production data.If the associated key material/passphrase/keyfile has been lost, accessing the encrypted data is no longer possible. |

Encryption needs to be setup when creating datasets/zvols, and is inherited by default to child datasets. For example, to create an encrypted dataset <tt>tank/encrypted_data</tt>and configure it as storage in Proxmox VE, run the following commands:

<pre><tt># zfs create -o encryption=on -o keyformat=passphrase tank/encrypted_data

Enter passphrase:

Re-enter passphrase:

All guest volumes/disks create on this storage will be encrypted with the shared key material of the parent dataset.

To actually use the storage, the associated key material needs to be loaded with <tt>zfs load-key</tt>:

<pre><tt># zfs load-key tank/encrypted_data

Enter passphrase for 'tank/encrypted_data':</tt></pre>

It is also possible to use a (random) keyfile instead of prompting for a passphrase by setting the <tt>keylocation</tt>and <tt>keyformat</tt>properties, either at creation time or with <tt>zfs change-key</tt>on existing datasets:

<pre><tt># dd if=/dev/urandom of=/path/to/keyfile bs=32 count=1

| When using a keyfile, special care needs to be taken to secure the keyfile against unauthorized access or accidental loss. Without the keyfile, it is not possible to access the plaintext data! |

A guest volume created underneath an encrypted dataset will have its <tt>encryptionroot</tt>property set accordingly. The key material only needs to be loaded once per encryptionroot to be available to all encrypted datasets underneath it.

See the <tt>encryptionroot</tt>, <tt>encryption</tt>, <tt>keylocation</tt>, <tt>keyformat</tt>and <tt>keystatus</tt>properties, the <tt>zfs load-key</tt>, <tt>zfs unload-key</tt>and <tt>zfs change-key</tt>commands and the <tt>Encryption</tt>section from <tt>man zfs</tt>for more details and advanced usage.

目前来说,不支持ext4到zfs的转换,只能重新格式化。 最新的16.04 lts原生支持zfs,但是好像没有默认启用,以前没有在Linux上做过文件系统的转换,请问如何从ext4转换成zfs?除了全格没有其它办法。

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

打开APP

linux恢复成裸设备,Linux下的裸设备研究(转) ---rawdevices 转载

2021-05-07 16:15:51

此号已死

码龄2年

关注

Linux平台下,缺省没有提供对磁盘设备的字符访问方式,必须通过配置rawdevices服务,把块设备绑定到裸设备上才行,具体方法有3种。这3种方法创建裸设备的方式完全一样,区别在于对Oracle用户权限处理方法的不同。RHEL5推荐使用第3种方法

第一种方法:# vim /etc/sysconfig/rawdevices

/dev/raw/raw1 /dev/sdb1

/dev/raw/raw2 /dev/sdb2

#/etc/init.d/rawsdevices start

#chkconfig --level 235 rawdevices on 成功开启裸设备的标志为 # /etc/init.d/rawdevices status

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2: bound to major 8, minor 18

为裸设备赋予权限# chown oracle:oinstall /dev/raw/raw1

/dev/raw/raw2

# ll /dev/raw/raw*

crw-rw---- 1 oracle oinstall 162, 1 Jan 22 14:09

/dev/raw/raw1

crw-rw---- 1 oracle oinstall 162, 2 Jan 22 14:12

/dev/raw/raw2 配置成功。

种方法的问题在于,虽然创建了裸设备,但是这些裸设备是在rawdevices服务启动时创建的,而rawdevices是以root用户身份运行的。因

此这些裸设备缺省的owner是root:root。所以每次服务重启后都要重新修改这些设备的owner为oracle:oinstall.

第二种方法:

为了解决上述的问题,可以采用第二种方法。即用mknod提前创建出一个字符方式访问的文件,然后在文件绑定到块设备上,并把该文件的owner设置为oracle,因为这个文件是手工创建的,所以这个文件的owner不会被修改# mknod /oradata c 162 1

# chown oracle:oinstall /oradata

# vim /etc/sysconfig/rawdevices

/oradata /dev/sdd2 #/etc/init.d/rawsdevices

start

#chkconfig --level 235 rawdevices on 第三种方法:

使用udev管理设备的权限#vim

/etc/udev/rules.d/50-udev.rules KERNEL=="raw[0-9]*",MODE="0660",GROUP="oinstall",OWNER="oracle",NAME="raw/%k"

# vim /etc/sysconfig/rawdevices

/dev/raw/raw1 /dev/sdb1

/dev/raw/raw2 /dev/sdb2

#/etc/init.d/rawsdevices start

#chkconfig --level 235 rawdevices on 参考至:《大话Oracle RAC》张晓明著

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

相关资源:Linux裸设备相关命令_设备退出,怎样添加上-Linux文档类资源-CSDN...

文章知识点与官方知识档案匹配

CS入门技能树Linux入门初识Linux

26057 人正在系统学习中

打开CSDN APP,看更多技术内容

...及 还原至裸设备状态_胖胖胖胖胖虎的博客_linux磁盘...

Linux添加磁盘、挂载 及 还原至裸设备状态 磁盘划分区 [hadoop@hadoop03 ~]$sudofdisk-l Disk /dev/sda:42.9GB,42949672960bytes,83886080sectors Units=sectors of1*512=512bytes Sector size(logical/physical):512bytes /512bytes I...

继续访问

linux系统制作裸设备,在unix下和linux下创建裸设备总结_爱卡汽车的博 ...

4.链接裸磁盘: #ln -s /dev/raw/raw1 /oracle/oradata/dgdemo/temp.dbf 5.创建oracle的数据文件: create tablespace temp datafile '/oracle/oradata/dgdemo/temp.dbf' size 1000M reuse备注:如果使用LVM来创建LV类型的裸设...

继续访问

oracle 备份 裸设备,玩转裸设备的备份恢复

近期在linux下测试了数据的备份和恢复:1、裸设备的创建:在/etc/sysconfig/rawdevices 下添加如下:/dev/raw/raw1 /dev/sdb1 (100M)/dev/raw/raw2 /dev/sdb2 (120M)/dev/raw/raw3 /dev/sdb3 (130M)/dev/raw/raw4 /dev/sdb4 (150M)/dev/...

继续访问

SUSE Linux 10 配置裸设备(raw devices)

裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写 *** 作。不经过文件系统的缓冲,是不被 *** 作系统直接管理的设备。由于跨过 *** 作系统管理,使得I/O效率更高。在基于SUSE Linux 10上安装Oracle 10g RAC的话,由于Oracle 10g 不支持将ocr与votingdisk 存放在ASM 磁盘中,因此,

继续访问

linux asm 裸设备,ASM+裸设备_铝单车上的镁男子的博客

通过gui程序安装数据库软件,然后在dbca创建数据库,数据文件放在asm磁盘上即可。 来自“ ITPUB博客 ” ,链接:http://blog.itpub.net/22123669/viewspace-678501/,如需转载,请注明出处,否则将追究法律责任。

继续访问

linux raw设备格式化,SUSE Linux 10配置裸设备(raw devices)_owl-ler...

SUSE Linux 10配置裸设备(raw devices) 裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写 *** 作。不经过文件系统的缓冲,是不被 *** 作系统直接管理的设备...

继续访问

linux gpio设备驱动程序,嵌入式Linux设备驱动开发之:GPIO驱动程序实例-嵌入式系统-与非网...

11.3GPIO驱动程序实例11.3.1GPIO工作原理FS2410开发板的S3C2410处理器具有117个多功能通用I/O(GPIO)端口管脚,包括GPIO8个端口组,分别为GPA(23个输出端口)、GPB(11个输入/输出端口)、GPC(16个输入/输出端口)、GPD(16个输入/输出端口)、GPE(16个输入/输出端口)、GPF(8个输入/输出端口)、GPH(11个输入/输出端口)...

继续访问

linux内存给hdd当缓存,linux块设备加速缓存之bcache [转]

转载请注明出处:http://blog.csdn.net/liumangxiongbcache是linux内核块层cache。它使用类似SSD来作为HDD硬盘的cache,从而起到加速作用。HDD硬盘便宜并且空间更大,SSD速度快但更贵。如果能两者兼得,岂不快哉?bcache能做到。bcache使用SSD作为其他块设备cache。类似ZFS的L2Arc,但bcache还增加了写回策略,并且是与文件...

继续访问

linux裸设备详解,Linux裸设备管理详解_无敌道道的博客

裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。 字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。

继续访问

linux创建裸磁盘,Linux上如何创建裸设备_一颗大球糖bobo的博客-CSDN博 ...

其中最关键的就是共享设备了,在一个独立硬盘上创建裸设备,作为OCR和Voting DISK甚至ASM的磁盘,下面就介绍一下,在Linux下面如何创建裸设备,也就是create raw device. 大致这么几个步骤: 1. Check iscsi has been autoenable...

继续访问

主线剧情02-ARM-Linux基础学习记录

对 Linux 的系统概念、Linux 文件系统、常用命令、Vim 使用、GCC、Make 与 Makefile 及其模板、ubuntu 包管理、换源等等等做一个大总结,对 ARM Linux 的编译工具链、应用、系统编译的流程做简单介绍,最后对 PC 与 嵌入式板 传输文件的方式做一个汇总。

继续访问

linux 块设备驱动实例,linux驱动由浅入深系列:块设备驱动之一(高通eMMC分区实例)...

块设备驱动的模型还是基本基于字符设备驱动的,可以简单理解为块设备仅仅增加了 *** 作缓冲区,对用户请求顺序进行队列重拍等等。字符设备驱动的相关分析可以查看本博客相关的博文。按照本博客的行文习惯,在具体分析块设备驱动代码之前,我们会从整体上了解一下研究对象的特征,以及用户空间的使用方法。下面我们就自己写一个小工具(可以读取Rom中任意一个物理扇区的内容)来分析一下高通的分区信息。在用户空间看到的块设备当然...

继续访问

linux asm 裸设备,为ASM生成裸设备_weixin_39980711的博客

在oracle推荐的存储机制中,ASM性能是比较好的,为了使用ASM存储,先需要为共享磁盘或者共享磁盘的分区生成裸设备,以下为裸设备生成相关记录。linux环境为linux AS 5.4。 1、裸设备,可以用共享磁盘或者共享磁盘中的分区来生成,这个相差不是很...

继续访问

linux创建裸磁盘,linux 使用裸设备创建表空间_射命丸咲的博客

TNS for Linux: Version 11.2.0.1.0 - Production NLSRTL Version 11.2.0.1.0 - Production 查看磁盘 [root@node1 ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders ...

继续访问

最新发布 linux设备模型:设备及设备节点创建过程分析

本篇分析设备的初始化及注册过程,包括设备与驱动绑定,设备与电源管理之间的联系、中断域的储存及物理设备之间的关系等等。这一篇内容较多,结合kobject、kset、class、bus等众多概念,也是从理论阶段转换为实际使用阶段的重要过程。 设备初始化阶段,创建kset容器结构对象devices_kset,用于设备的uevent(用户事件通知) *** 作。dev_kobj表示设备根对象,在它的基础上扩展(延伸)sysfs_dev_block_kobj("block") 块设备根对象和sysfs_dev_ch

继续访问

热门推荐 linux查看新增串口、USB设备,Minicom + Usb转串口

linux查看新增串口、USB设备,Minicom + Usb转串口注意:虚拟机环境下的ubuntu默认情况下是不能自动识别的,需要在虚拟机窗口右下角点击"Prolific USB-Serial Controller",然后选择"Connect(Disconnect from Host)",这样才能被ubuntu系统识别。查看新增串口、USB设备1)显示已经加载到内核中的模块的状态...

继续访问

Linux配置裸设备_黄宝康的博客

Linux配置裸设备 在配置Oracle10g RAC中,会遇到裸设备的配置,高版本的RAC,从11g开始,已经不支持了,在这里只是学习记录下。 裸设备是指通过字符方式访问的设备,这种设备在读写数据时不需要缓冲区,在Linux环境下默认不提供裸设备服务,...

继续访问

转 Linux块设备加速缓存bcache和dm-cache 使用SSD来加速服务器

转 Linux块设备加速缓存bcache和dm-cache 使用SSD来加速服务器

继续访问

【vbox】Linux安装Virtual Box虚拟机实践记录--编辑中

一、安装 1.进入virtualbox官网 https://www.virtualbox.org/ 2.点击download 方法一: 3.点击Linux distributions 4.向下翻至如图,并且进入同种框选页面 5.在/etc/yum.repos.d/目录下新建virtualbox.repo并写入如下内容 [virtualbox] name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - V.

继续访问

linux文件系统-文件的写与读

只有打开可文件以后,或者建立起进程与文件之间的连接之后,才能对文件进行读写。文件的读写主要是通过系统调用read和write来完成的,对于读写的进程,目标文件由一个打开文件号代表。 为了提高效率,稍微复杂一点的 *** 作系统对文件的读写都是带缓冲的,linux也不例外。像vfs一样,linux文件系统的缓冲机制也是它的一大特色。所谓缓冲,是指系统为最近的读写过的文件内容在内核中保留一份副本,以便当再次需要已经缓冲存储在副本的内容时不必再临时从设备上读入,而需要写的时候则可以先写到副本中,待系统较为空闲时再从副本

继续访问

DAVINCI DM365-DM368开发攻略——linux-2.6.32的移植

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zjbintsystem.blog.51cto.com/964211/768652 2012年的春节就这样过了,假期期间,在接到的大项目没有进展的情况下(团队的人都回家过年了),利用这三天深圳最冷的时间(5°C):1月25~27号,赶紧完成这篇文章的稿子,毕竟很长时间

继续访问

Linux-常用命令

3.1 概述 很多人可能在电视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完成了窃取资料的任务。 Linux 刚出世时没有什么图形界面,所有的 *** 作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。 近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多Linux功能在命令行界面要比图形化界面下运行的快。可以说不会命令行,就不算会 Linux。 Linux 提供了

继续访问

linux设备模型:bus概念及pci_bus分析

bus(总线)是一种特殊的抽象框架,与class有着本质上的不同,class感觉上只是把一些核心组件聚集在一起,它主要为访问组件提供便利(如提供组件地址),而bus则是实实在在的功能性框架,它即可负责管理、维护驱动与设备之间的关系,也可作为主桥设备与硬件之间的访问通道等等。 如pci总线,当pci硬件设备插入卡槽后,首先通过pci_bus_type(pci总线 *** 作结构) 中的 pm(电源 *** 作结构) *** 作相关函数唤醒设备,然后通过pci_bus_match函数查找硬件设备是否被注册到驱动(通过pc

继续访问

Linux入职基础-3.1_了解proc目录文件(设备管理)

了解proc目录文件(设备管理)/proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取有关进程的有用信息,在运行时访问内核内部数据结构、改变内核设置的机制。/proc 由内核控制,没有承载 /proc 的设备,它只存在内存当中,而不占用外存空间,对 /proc 进行一次 'ls -l' ...

继续访问

linux文件系统-文件系统的安装与拆卸

在一块设备上按一定的格式建立起文件系统的时候,或者系统引导之初,设备上的文件和节点都还是不可访问的。也就是说,还不能按一定的路径名访问其中特定的节点或文件(虽然设备是可访问的)。只有把它安装到计算机系统的文件系统中的某个节点上,才能使设备上的文件和节点成为可访问的。经过安装以后,设备上的文件系统就成为整个文件系统的一部分,或者说一个子系统。一般而言,文件系统的结构就好像一棵倒立的树,不过由于可能存在着的节点间的链接和符号链接不并不一定是严格的图论意义上的一棵树。最初,整个系统只有一个节点,那就是整个文件系统

继续访问

linux文件系统-访问权限与文件安全性

Unix *** 作系统从一开始就在其文件系统中引入了文件、访问权限等概念,并在此基础上实现了有利于提高文件安全性的机制。从那以后这些概念和机制就一直被继承下来并进一步得到改进和完善。即使在经过了很多年后的今天,而且在计算机系统的安全性已经成为一个突出问题的情况下,这一套机制仍然不失其先进性。尽管还存在一些缺点和需要进一步改进的地方,从总体上说还是瑕不掩瑜。与当今正在广泛使用的其他 *** 作系统相比,可以说Unix的安全性总的来说至少不会差于这些系统;如果考虑到近年来在Unix及linux中已经作出的改进以及不难作出的进

继续访问

[转]Linux块设备加速缓存bcache和dm-cache:使用SSD来加速服务器

dm-cache 与 bcache在 LSFMM 2013 峰会上,Mike Snitzer, Kent Overstreet, Alasdair Kergon, 和 Darrick Wong 共同主持了一个讨论,内容是关于两个彼此独立的块设备层缓存方案 —— dm-cache 和 bcache。 Snitzer 首先介绍了 3.9 kernel 引入的 dm-cache。这个方案使用率内核中的

继续访问

计算机 *** 作系统实验代码(6个实验)

计算机 *** 作系统实验代码,包括先来先服务FCFS和短作业优先SJF进程调度算法、时间片轮转RR进程调度算法、预防进程死锁的银行家算法、动态分区分配算法、虚拟内存页面置换算法、磁盘调度算法

linux将磁盘还原为裸设备

linux恢复成裸设备

写评论

评论

收藏

点赞

分享


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7432585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存